本文实例讲述了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程序设计有所帮助。








发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。