-1

我想打电话dpinst.exe /u .\\foldername\\foldername\\inffile.inf \d使用shellexecuteEX. 这个怎么做。抱歉,我对多个参数感到困惑。我尝试了下面的代码,但它不起作用。

hExecInfo.lpParameters = TEXT ("/u .\\dist\\Driver\\inffile.inf /d");
ShExecInfo.lpFile = TEXT (".\\dist\\dpinstx86.exe");

如何让它发挥作用?

4

2 回答 2

1

投稿的遗漏是cbSize会员的设定:

shExecInfo.cbSize = sizeof(shExecInfo);

struct这是必需的(在接受s 的其他 WINAPI 函数中很常见)。

于 2012-08-28T16:41:34.723 回答
1

执行 .exe 文件时,您确实应该使用CreateProcess()而不是ShellExecute/Ex(),例如:

STARTUPINFO si = {sizeof(STARTUPINFO), 0};
PROCESS_INFORMATION pi = {0};

TCHAR szCmdLine[] = TEXT(".\\dist\\dpinstx86.exe /u .\\foldername\\foldername\\inffile.inf \d");

if (CreateProcess(NULL, szCmdLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
{
    CloseHandle(pi.hThread);
    CloseHandle(pi.hProcess);
}
于 2012-08-29T00:04:40.133 回答