创建进程(CreateProcess)
生活随笔
收集整理的這篇文章主要介紹了
创建进程(CreateProcess)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
下面來分享一下如何用C++創(chuàng)建進(jìn)程(開發(fā)環(huán)境建議VS2017【宇宙第一IDE】)
/*以下為創(chuàng)建新的進(jìn)程,以拉起記事本為例*/ #include <windows.h>? #include <iostream> using namespace std; int main() {char TEST[] = "notepad.exe";?? //設(shè)置命令行?STARTUPINFO si = { sizeof(si) };? //startupinfo 結(jié)構(gòu)體初始化PROCESS_INFORMATION pi;???? //process_infomationsi.dwFlags = STARTF_USESHOWWINDOW;?// 指定wShowWindow成員有效si.wShowWindow = TRUE;???// 此成員設(shè)為TRUE的話則顯示新建進(jìn)程的主窗口,// 為FALSE的話則不顯示BOOL bRet = ::CreateProcess(NULL,???// 不在此指定可執(zhí)行文件的文件名TEST,???????? // 命令行參數(shù)?NULL,???// 默認(rèn)進(jìn)程安全性NULL,???// 默認(rèn)線程安全性FALSE,???// 指定當(dāng)前進(jìn)程內(nèi)的句柄不可以被子進(jìn)程繼承CREATE_NEW_CONSOLE,?// 為新進(jìn)程創(chuàng)建一個新的控制臺窗口NULL,???// 使用本進(jìn)程的環(huán)境變量NULL,???// 使用本進(jìn)程的驅(qū)動器和目錄&si,&pi);if (bRet){// 既然我們不使用兩個句柄,最好是立刻將它們關(guān)閉::CloseHandle(pi.hThread);???? //結(jié)束新創(chuàng)建主線程句柄::CloseHandle(pi.hProcess);??? //結(jié)束新創(chuàng)建主進(jìn)程句柄cout << " 新進(jìn)程的進(jìn)程ID號:" << pi.dwProcessId << endl;?? //dwprocessid:新建進(jìn)程IDcout << " 新進(jìn)程的主線程ID號:"<<pi.dwThreadId<<endl;?? //dwthreadid: 新建主線程ID}system("pause");return 0; }?
總結(jié)
以上是生活随笔為你收集整理的创建进程(CreateProcess)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 雪宝顶在哪里
- 下一篇: 枚举所有进程及其ID