請問有關於Terminate() 與PostQuitMessage ( 0 )與ExitProcess(0)之問題 |
缺席
|
l90425
初階會員 發表:95 回覆:152 積分:49 註冊:2008-04-03 發送簡訊給我 |
想請問各位大大一個問題Terminate() 與PostQuitMessage ( 0 )與ExitProcess(0)那一種比較不會殘留資源,
再看完其他文章後本來覺得ExitProcess(0)比較好, 但是在ADOConnection1連線中,若使用ExitProcess(0)來結束時發生了一個問題,那就是Access 記錄鎖定資訊竟然還存在, 但用PostQuitMessage ( 0 )就會消失, 而且在看完某篇文章其內容為: 『是WM_DESTROY消息,它表示一個銷毀視窗退出應用程式的消息。也是每個程式所必備的。對於這個消息的處理方式就是通過調用 PostQuitMessage ( 0 )函數傳遞一個WM_QUIT消息,準備讓由GetMessage 、 TranslateMessage和DispatchMessage三個函數組成的消息迴圈中的GetMessage取得。當消息迴圈中的收到 WM_QUIT消息時,GetMessage會傳回0,從而結束消息迴圈。進而釋放各種資源,結束整個程式。另一個重要的地方是 DefWindowProc函數。我們的程式無論多大都不可能將所有的消息都處理,所以我們必須有一個機制讓不重要的不需要我們處理的消息,交 給windows作業系統為我們處理,這個過程就是由DefWindowProc函數來實現的。 因此當我們按下視窗右上角的差號或者按下左上角系統功能表中的Close命令時,系統會送出WM_CLOSE消息。通常程式的視窗函數不攔截 此消息,於是交由DefWindowProc函數來處理。DefWindowProc函數在受到WM_CLOSE消息後,調用DestroyWindow把視窗清除。 DestroyWindow又會送出WM_DESTROY消息。程式又如前面講到的一樣來結束程式釋放資源。』http://www.hkitn.com/print.php/2552 到底是用是哪一種方式會比較好呢? 而Terminate() 只是調用API PostQuitMessage ( 0 ) 所以Terminate() 是一樣的PostQuitMessage ( 0 )這個觀念是對的嗎? 謝謝!謝謝!
------
-謝謝大大熱心的回覆!謝謝! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |