无法通过CreateProcess API打开Chrome浏览器

时间:2015-08-31 09:53:26

标签: c++ windows winapi

我正在尝试通过CreateProcess API打开Chrome浏览器。我无法这样做。

我试着这样做:

    string commandLine = "\"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe\"";
    commandLine += " -- ";
    commandLine += pURLinfo->szURL;
    CreateProcess(commandLine.c_str(), NULL, NULL, NULL, FALSE,
              CREATE_NEW_CONSOLE, NULL, NULL, &startupInfo, &processInformation);

CreateProcess返回错误123。     也许还有另一种方法可以打开它。 (我不是在谈论ShellExecute)。

更新:我的代码现在看起来像这样,但我仍然无法运行chrome。

STARTUPINFOA si;
    PROCESS_INFORMATION pi;

    ZeroMemory(&si, sizeof(si));
    si.cb = sizeof(si);
    ZeroMemory(&pi, sizeof(pi));

// Start the child process. 
if (!CreateProcessA("C:\\Program Files(x86)\\Google\\Chrome\\Application\\chrome.exe",     // No module name (use command line)
    NULL,
    NULL,           // Process handle not inheritable
    NULL,           // Thread handle not inhberitable
    FALSE,          // Set handle inheritance to FALSE
    0,              // No creation flags
    NULL,           // Use parent's environment block
    NULL,           // Use parent's starting directory 
    &si,            // Pointer to STARTUPINFO structure
    &pi)           // Pointer to PROCESS_INFORMATION structure
    )
{
    printf("CreateProcess failed (%d).\n", GetLastError());
    getchar();
    return 0;
}

1 个答案:

答案 0 :(得分:1)

尝试从命令行中删除不需要的引号

string commandLine = "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe";