CreateProcess function

来源:互联网 发布:mysql 查询最近一个月 编辑:程序博客网 时间:2024/06/02 19:28

MSDN参考:https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx

#include <windows.h>#include <stdio.h>#include <tchar.h>void _tmain( int argc, TCHAR *argv[] ){    STARTUPINFO si;    PROCESS_INFORMATION pi;    ZeroMemory( &si, sizeof(si) );    si.cb = sizeof(si);    ZeroMemory( &pi, sizeof(pi) );    if( argc != 2 )    {        printf("Usage: %s [cmdline]\n", argv[0]);        return;    }    // 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;    }    // Wait until child process exits.    WaitForSingleObject( pi.hProcess, INFINITE );    // Close process and thread handles.     CloseHandle( pi.hProcess );    CloseHandle( pi.hThread );}


0 0