CreateProcess不能处理错误2

时间:2014-07-21 09:06:12

标签: c windows createprocess

我需要使用CreateProcess函数,但它不起作用。 这是我的代码:

#include <stdio.h>
#include <windows.h>

int main(int argc, char *argv[])
{
    STARTUPINFO si;
    PROCESS_INFORMATION pi;

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

    // Start the child process.
    if( !CreateProcess( NULL,   // No module name (use command line)
        argv[1],        // Command line
        NULL,           // Process handle not inheritable
        NULL,           // Thread handle not inheritable
        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() );
        return 0;
    }

    // Wait until child process exits.
    WaitForSingleObject( pi.hProcess, INFINITE );

    // Close process and thread handles.
    CloseHandle( pi.hProcess );
    CloseHandle( pi.hThread );
    return 0;
}

我在可执行文件中启动的可执行文件和进程位于同一文件夹中:
可执行文件:Windows_Creating_Process.exe
处理:Ivcon.exe

因此在命令提示符下执行

Windows_Creating_Process.exe Ivcon.exe

在包含它们的文件夹中。

但它返回:

CreateProcess failed (2)

对应于:

  

ERROR_FILE_NOT_FOUND
  2(0x2)
  系统找不到指定的文件。

0 个答案:

没有答案