win32创建子进程方法

看到网上有一个示例,我查了先关函数,做了一些注释,自己学习下:

#include <iostream>
#include <string>
#include <WinSock2.h>
using namespace std;

#pragma comment(lib, "WS2_32")

int main() 
{
	WSAData wsaData;
	WSAStartup(MAKEWORD(2, 2), &wsaData);

	SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

	STARTUPINFO si = { 0 };//该结构用于指定新进程的主窗口特性
	si.cb = sizeof(si);

	PROCESS_INFORMATION pi;//指定新进程的主窗口特性

	//用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件
	CreateProcess(L"C:\\Windows\\notepad.exe",NULL,NULL,NULL,TRUE,0,NULL,NULL,&si,&pi);
	//CloseHandle 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等
	CloseHandle(pi.hThread);//关闭新进程
	CloseHandle(pi.hProcess);//关闭新线程

	std::string line;
	while (std::getline(std::cin, line)) 
	{ 
	}

	WSACleanup();
}

  

  

原文地址:https://www.cnblogs.com/xiangshancuizhu/p/2710948.html