VC创建进程CreateProcess的方法

时间:2021-11-14 09:05:28

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