首页 > 代码库 > C++创建一个新的进程
C++创建一个新的进程
原文:http://blog.csdn.net/hk627989388/article/details/53309865
STARTUPINFO用于指定新进程的主窗口特性的一个结构。
PROCESS_INFORMATION在创建进程时相关的数据结构之一,该结构返回有关新进程及其主线程的信息。
[cpp] view plain copy
- void CCreateProgressDlg::StartProgress()
- {
- CString csCommandLine;
- char chWindowsDir[MAX_PATH];
- char chCommandLine[MAX_PATH];
- DWORD dwExitCode;
- PROCESS_INFORMATION pi;
- STARTUPINFO si;//用于指定新进程的主窗口特性的一个结构
- memset(&si, 0, sizeof(si));
- si.cb = sizeof(STARTUPINFO);
- si.dwFlags = STARTF_USESHOWWINDOW;
- si.wShowWindow = SW_SHOW;//SW_HIDE隐藏窗口
- //得到windows目录
- GetWindowsDirectory(chWindowsDir, MAX_PATH);
- //启动“记事本”程序的命令行
- csCommandLine = CString(chWindowsDir) + "\\NotePad.exe";
- ::strcpy(chCommandLine, csCommandLine);
- //启动“记事本”作为子进程
- BOOL ret = CreateProcess(NULL, chCommandLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
- if (ret)
- {
- //关闭子进程的主线程句柄
- CloseHandle(pi.hThread);
- //等待子进程的退出
- WaitForSingleObject(pi.hProcess, INFINITE);
- //获取子进程的退出码
- GetExitCodeProcess(pi.hProcess, &dwExitCode);
- //关闭子进程句柄
- CloseHandle(pi.hProcess);
- }
- }
C++创建一个新的进程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。