2009-02-13 37 views
0

我有一個軟件駐留在外部硬盤,當用戶插入外部硬盤時它會自動運行,當然用戶拔下外部硬盤時軟件必須自動關閉。我可以收到設備丟失的消息,但是如果我直接調用exit(0),我的SW將不會響應,直到調用exit(0),SW纔會顯示崩潰消息。有什麼辦法可以快速退出軟件?如何快速退出軟件

回答

0

終止進程的最快方法是致電TerminateProcess()。這只是簡單地停止進程接收任何進一步的時間片並釋放由Windows分配給它的所有資源。

儘管出於各種原因,我們不推薦這種結束進程的方法。其中一個例子是,如果您使用標準庫寫入的打開文件,則某些數據可能仍會被緩衝,而沒有完全寫入文件。

1

乾淨的方式退出Windows應用程序是

PostQuitMessage(0); 

這將發送WM_QUIT到應用程序,從而導致消息循環終止。

0

我假設你想要乾淨地退出。如果您不需要乾淨地退出,請使用PostQuitMessage。如果你這樣做,並且它是一個UI應用程序,請將WM_CLOSE發送到主窗口。

你應該明確哪些對象軟件當您退出「過程中不會被反應」,以及爲什麼它停止響應

0

我假設你正在尋找一種方式,讓您的應用程序崩潰,當用戶拔下外部設備。您可以強制操作系統將可執行文件從可移動介質複製到交換文件並從那裏執行。相應的鏈接器開關(用於MSVC++)是/SWAPRUN:{NET | CD}
將其設置爲CD,操作系統將從外部驅動器執行時將可執行文件複製到交換。

+0

它工作的外部硬盤驅動器? – 2009-02-16 01:49:14