WinApi学习笔记-创建进程

简介: #include #include #include DWORD CreateChildProcess(LPSTR szChildProcessCmd); int main() { CreateChildProcess("Child.
#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;

}
目录
相关文章
|
Kubernetes Ubuntu Cloud Native
深入剖析Kubernetes学习笔记-05 | 白话容器基础(一):从进程说开去
深入剖析Kubernetes学习笔记-05 | 白话容器基础(一):从进程说开去
131 0
|
消息中间件 Shell Linux
计算机操作系统学习笔记(7)——进程通信
计算机操作系统学习笔记(7)——进程通信
91 0
|
6月前
|
Linux 调度
Linux学习笔记十一:进程管理
Linux学习笔记十一:进程管理
|
存储 安全 Linux
Go语言学习笔记-进程和线程
Go语言学习笔记-进程和线程
56 0
Go语言学习笔记-进程和线程
|
Linux
计算机操作系统学习笔记(6)——进程和线程
计算机操作系统学习笔记(6)——进程和线程
76 0
|
存储 算法 程序员
[计算机操作系统(慕课版)]第二章 进程的描述与控制(学习笔记)
[计算机操作系统(慕课版)]第二章 进程的描述与控制(学习笔记)
|
安全 Java
Java复习与学习笔记----进程和线程与同步(下)
Java复习与学习笔记----进程和线程与同步(下)
|
Java 调度
Java复习与学习笔记----进程和线程与同步(上)
Java复习与学习笔记----进程和线程与同步
|
Linux
Linux学习笔记(六) 进程管理
Linux学习笔记(六) 进程管理
89 0
|
安全 算法 调度
411操作系统学习笔记——进程与线程、处理机调度、同步与互斥(PV操作)、死锁(四)
411操作系统学习笔记——进程与线程、处理机调度、同步与互斥(PV操作)、死锁
165 1
411操作系统学习笔记——进程与线程、处理机调度、同步与互斥(PV操作)、死锁(四)