#include <windows.h>
#include <stdio.h>
#include <iostream>

DWORD CreateChildProcess(LPSTR szChildProcessCmd);
int main()
{
	CreateChildProcess("Child.exe");
}

DWORD CreateChildProcess(LPSTR szChildProcessCmd)
{
	//启动信息结构变量
	STARTUPINFO si;
	//被创建进程的信息
	PROCESS_INFORMATION pi;
	//将启动信息结构清零
	ZeroMemory(&si,sizeof(si));
	si.cb = sizeof(si);//设置启动信息结构的大小
	//将被创建进程的信息结构清零
	ZeroMemory(&pi,sizeof(pi));
	//LPSTR 指向启动进程的EXE文件
	//LPSTR 启动进程的命令行
	//LPSECURITY_ATTRIBUTE 进程的安全属性
	//LPSECURITY_ATTRIBUTE 进程句柄是否可被子进程继承
	//BOOL 与子进程的句柄继承关系
	//DWORD 进程创建标志和优先级,0为没有创建标志
	//LPVOID 使用父进程的环境变量
	//LPCTSTR 指定新进程的当前目录,NULL使用父进程的当前目录
	//启动信息
	//子进程信息
	if(!CreateProcess(NULL,szChildProcessCmd,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi))
	{
		std::cout<<GetLastError()<<std::endl;
		CHAR A;
		std::cin>>A;
		return 1;
	}
	WaitForSingleObject(pi.hProcess,INFINITE);
	CloseHandle(pi.hProcess);
	CloseHandle(pi.hThread);

	return 0;

}

相关文章:

  • 2021-11-26
  • 2021-09-07
  • 2021-12-10
  • 2021-04-13
  • 2021-07-29
  • 2022-12-23
  • 2021-12-08
猜你喜欢
  • 2022-02-10
  • 2022-12-23
  • 2021-08-07
  • 2021-10-25
  • 2021-11-27
  • 2021-12-13
  • 2021-09-25
相关资源
相似解决方案