程序的相關操作

2021-06-17 17:46:09 字數 1571 閱讀 7472

①、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...