#include "stdafx.h"
#include<windows.h>
#include<stdio.h>
/*
*创建一个新的进程,取得进程ID和主线程ID,并打印
*@author黄文
*@return 0;
*最后修改时间2010-08-03 19:27:20
*/
int main(int argc, char* argv[])
{
//创建char 数组 szCommandLine
char szCommandLine[] = "ping 119.6.6.6 -t";//“ ”里面是你要启动的进程
STARTUPINFO si = {sizeof(si)};
PROCESS_INFORMATION pi;
si.dwFlags = STARTF_USESHOWWINDOW;//指定wShowWindow 有效
si.wShowWindow = TRUE; //TURE显示新建进程主窗口
//使用CreateProcess函数创建进程
BOOL bret = ::CreateProcess(
NULL, //不指定文件名
szCommandLine, //命令行参数
NULL, //默认进程安全
NULL, //默认线程安全
FALSE,
CREATE_NEW_CONSOLE, //为新进程创建一个新的控制台窗口
NULL,
NULL, //使用本进程的驱动和目录
&si,
&pi);
if(bret)
{ //不使用句柄就关闭
::CloseHandle(pi.hThread);
::CloseHandle(pi.hProcess);
//打印新进程PID,打印主线程PID
printf("新进程ID:%d/n",pi.dwProcessId);
printf("新进程主线程ID:%d/n",pi.dwThreadId);
}
return 0;
}