看到网上有一个示例,我查了先关函数,做了一些注释,自己学习下:
#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();
}