windows系統訊息搜集-逐步更新中

來源:互聯網
上載者:User

標籤:

1.WM_QUERYENDSESSION

       這個訊息不能直接讓應用程式退出,這個訊息主要是詢問應用程式是否已經作好了退出的準備,當所有的應用程式都對這個訊息返回TRUE,系統會登出或關機。如果想退出程式,使用WM_CLOSE訊息!

  Windows在關機的時候會向所有頂層視窗廣播一個訊息WM_QUERYENDSESSION,其lParam參數可以區分是關機還是登出使用者(登出用 戶時lParam是ENDSESSION_LOGOFF)。然後Windows會等到所有的應用程式都對這個訊息返回TRUE才會關機,

因此,只要我們的應用程式的主表單對這個訊息的處理返回FALSE,Windows就不會關機了。

  但也不是絕對能阻止Windows關機,因為如果某個應用程式調用ExitWindowsEx(EWX_POWEROFF|EWX_FORCE,0);來關機,我這個程式就阻止不了,因為那樣調用ExitWindowsEx,系統不會發出WM_QUERYENDSESSION訊息,程式也就不能阻止Windows關機了。
     

2.WM_ENDSESSION

  Windows將WM_ENDSESSION訊息發送給先前收到WM_QUERYENDSESSION訊息的每個視窗訊息處理常式。如果由於另一個程式從WM_QUERYENDSESSION傳回了0導致Windows不能關閉系統,那麼WM_ENDSESSION的wParam參數為0。WM_ENDSESSION訊息實際上回答了這個問題:我告訴過Windows可以把我結束掉,但是我真的被結束掉了嗎?

windows系統訊息搜集-逐步更新中

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.