首页 > 代码库 > 创建进程
创建进程
#include <windows.h>#include <stdio.h>/**************************************DWORD CreateChildProcess(LPSTR szChildProcessCmd)*功能: 演示创建子进程*参数: LPSTR szChildProcessCmd 启动子进程命令*返回值: 成功返回0, 失败返回1**************************************/DWORD CreateChildProcess(LPSTR szChildProcessCmd){ STARTUPINFO si; //startup_info 启动_信息 PROCESS_INFORMATION pi; //process_information 进程_消息(通知) //将启动信息结构清零 ZeroMemory(&si, sizeof(si)); //设置结构大小, cb属性应为结构的大小 si.cb = sizeof(si); //将进程信息结构清零 ZeroMemory(&pi, sizeof(pi)); //创建子进程, 并判断是否成功 if (!CreateProcess(NULL, //使用命令行 szChildProcessCmd, //命令行 NULL, //不继承进程句柄 NULL, //不继承线程句柄 FALSE, //不继承句柄 0, //没有创建标志 NULL, //使用父进程环境变量 NULL, //使用父进程目录作为当前目录 &si, &pi) ){ //创建失败 printf("CreateProcess failed (%d).\n", GetLastError()); return 1; } //在创建成功后父进程也可以直接退出, 这里等待子进程执行结束 //等待子进程结束 //使用到了通过 PROCESS_INFORMATION 返回的相关信息, hProcess 为子进程句柄 //父进程也可以不等待子进程运行完成而直接退出 WaitForSingleObject(pi.hProcess, INFINITE); //关闭进程句柄和线程句柄. CloseHandle(pi.hProcess); CloseHandle(pi.hThread); return 0;}//演示进程创建过程int main(){ CreateChildProcess("Child.exe abc 123"); printf("子进程结束!!!"); system("pause");}
编译时, 把字符集改成 使用多字节字符集.
创建进程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。