本文实例讲述了VC创建进程CreateProcess的方法。分享给大家供大家参考。具体实现方法如下:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include "stdafx.h" #include <windows.h> #include <stdio.h> int main ( int argc, char * argv[]) { char szCommandLine[]= "cmd" ; STARTUPINFO si={ sizeof (si)}; PROCESS_INFORMATION pi; si.dwFlags=STARTF_USESHOWWINDOW; //制定wShowWindow成员 si.wShowWindow=TRUE; //为真,显示进程的主窗口 BOOL bRet=::CreateProcess( NULL, //不在此指定可执行文件的文件名 szCommandLine, //命令行参数 NULL, //默认进程的安全性 NULL, //默认线程的安全性 FALSE, //指定当前进程内的句柄不可以被子进程继承 CREATE_NEW_CONSOLE, //为新进程创建一个新的控制台窗口 NULL, //使用本进程的环境变量 NULL, //使用本进程的驱动器和目录 &si, &pi); if (bRet) { //既然我们不使用两个句柄,最好是立刻将他们关闭 ::CloseHandle(pi.hThread); ::CloseHandle(pi.hProcess); printf ( "新的进程的进程ID号:%d\n" ,pi.dwProcessId); printf ( "新进程的主线程ID号:%d\n" ,pi.dwThreadId); } return 0; } |
希望本文所述对大家的VC程序设计有所帮助。