①、shellexecute 進行程序的建立,屬於 shell api:
//int iret = (int)shellexecute(m_hwnd, _t("open"), _t("notepad.exe"), _t("c:\\123.txt"), null, sw_show);
int iret = (int)shellexecute(m_hwnd, _t("open"), _t("c:\\windows\\notepad.exe"), _t("c:\\123.txt"), null, sw_show);
if (iret > 32)else
②、16位系統常用的 winexec api 函式進行程序的建立,在32位系統中為了向下相容,所以也是支援的!
winexec 使用起來也比較簡單,只有兩個引數!一定要注意第乙個引數的型別是:lpcstr
int iret = 0;
char *szpath = "c:\\windows\\notepad.exe";
//char *szpath = "c:\\123.txt";
//char *szpath = "c:\\windows\\notepad.exe c:\\123.txt";
iret = winexec(szpath, sw_show);
if (iret > 31)else
③、標準 api 函式 createprocess 進行程序的建立:
雖然引數很多,但有很多引數都可以置成 null
注意:第二個引數的型別是 lptstr,沒有c,也就不是 const 型別,所以表示該引數是可讀寫的!
tchar szpath = _t("c:\\windows\\notepad.exe c:\\123.txt");
startupinfo si = ;
si.cb = sizeof(si);
process_information pi = ;
createprocess(null, szpath, null, null, false, 0, null, null, &si, &pi);
//createprocess(null, _t("c:\\windows\\notepad.exe c:\\123.txt"), null, null, false, 0, null, null, &si, &pi); //執行錯誤
closehandle(pi.hthread);
closehandle(pi.hprocess);
關於 createprocess 函式其他引數的詳細解釋,見:createprocess中文詳解.txt
④、程序的結束之:exitprocess
結束自身程序:exitprocess(0);
⑤、程序的結束之:terminateprocess
結束自身或者其他程序:terminateprocess(getcurrentprocess(), 0);
結束其他程序時,要獲得對方程序的程序控制代碼,同時有 process_terminate 許可權才可以!
terminateprocess 是用一種「很黃很暴力」的方法去結束指定的程序,目標程序的資源沒有及時被釋放,雖然作業系統會幫助我們釋放,但不是乙個好的做法!
程序相關操作
python中的多執行緒無法利用多核優勢,如果想要充分地使用多核cpu的資源 os.cpu count 檢視 在python中大部分情況需要使用多程序。python提供了multiprocessing。multiprocessing模組用來開啟子程序,並在子程序中執行我們定製的任務 比如函式 該模組...
論 程序 相關操作
程序相關概念 1 程序 是乙個能夠分配處理器並由處理器執行的,能夠攜帶資源的活動實體。2 程序控制塊 pcb 每乙個程序中都有唯一的乙個程序控制塊來儲存程序的相關資訊,實際pcb就是乙個task struct的結構體。具體的見 3 程序狀態 程序是乙個活動實體,並不代表程序是一直處於執行狀態,乙個程...
程序與執行緒的相關操作
內容概要 內容詳情 一 程序補充 殭屍程序與孤兒程序 殭屍程序 主程序 執行完成之後不會直接結束,而是要等待所有子程序執行完 他們的資源之後才能結束。孤兒程序 主程序已經死亡 非正常死亡 兒子程序還在執行中。守護程序 守護程序 守護著某個程序,一旦守護的程序結束,守護的程序也會隨之結束 from m...