執行緒 程序學習之三 程序的關閉

2021-04-15 07:25:07 字數 758 閱讀 4876

關閉程序自然會想到exitprocess()

不過好像純粹的呼叫exitprocess不嫩結束開啟的應用程式,只能結束本程式(執行產生的exe程式),檢視了一些還有triminateprocess也能終止程序,效果相當於管理器中直接掐掉程序 

exitprocess()只能強制執行本程序的退出,如果要在乙個程序中強制結束其他的程序就要用terminateprocess()來實現。與exitprocess()不同,terminateprocess()函式執行後,被終止的程序是不會得到任何關於程式退出的通知的。也就是說,被終止的程序是無法在結束執行前進行退出前的收尾工作的。所以,通常只有在其他任何方法都無法迫使程序退出時才會考慮使用terminateprocess()去強制結束程序

dword dwtemp;

handle handle;

handle = openprocess(0, false, pi.dwprocessid);

if (!getexitcodeprocess(pi.hprocess, &dwtemp))

handle handle_1 = getcurrentprocess();

//terminateprocess(handle_1, null);

//terminateprocess(pi.hprocess, null);  結束程序 可以殺死程序

if (dwtemp == still_active)

exitprocess(dwtemp); //終止程序 只能結束當前程序,不能結束ttpalyer程序

程序 執行緒的關閉過程

程序關閉過程 1 關閉程序內的所有執行緒 終止遺留執行緒 2 釋放所有的使用者物件和gdi物件,關閉所有核心物件 引用計數 1,當減為0的時候銷毀核心物件 3 程序的推出 從still active變為傳給exitprocess或terminateprocess的 4 程序的核心物件變為已觸發狀態 ...

Linux程序執行緒學習筆記 程序建立

linux程序執行緒學習筆記 程序建立 周銀輝各位同學,轉換下思維,這裡說的是 程序 不是 執行緒 ok,我們開始 程序 二字似乎總有那麼些 只可意會不可言傳 的韻味,維基百科是這樣來解釋的 也有朋友如此來闡述,乙個可以執行的程式 和該程序相關聯的全部資料 包括變數,記憶體空間,緩衝區等等 程式的執...

程序通訊之三 父程序傳引數與子程序返回值

歡迎關注微博 前面已經寫了使用wm copydata訊息來完成程序之間的通訊 1 程序通訊之一使用wm copydata c 及c 實現 然後用了三篇文章來講解如何使用管道技術來完成程序通訊功能。1 程序通訊之二 管道技術第一篇 輸入輸出的重定向 2 程序通訊之二 管道技術第二篇 匿名管道 3 程序...