如何讓自己的應用程序,控制臺程序,windows 服務(wù)收到操作系統注銷(xiāo)或者重啟的消息? 選擇自
hansbj 的 Blog
關(guān)鍵字 如何讓自己的應用程序,控制臺程序,windows 服務(wù)收到操作系統注銷(xiāo)或者重啟的消息?
出處
對于windows form的應用程序, 操作系統其實(shí)在注銷(xiāo)或者關(guān)閉的時(shí)候,會(huì )發(fā)一個(gè)WM_QueryEndSession的消息給每一個(gè)窗體,每一個(gè)窗體有一個(gè)表決的機會(huì ),返回是否退出.這個(gè)跟form 的closing 時(shí)間一樣. 一旦有一個(gè)程序返回false,那么這個(gè)注銷(xiāo)動(dòng)作就取消了.默認.net 寫(xiě)的windows 應用程序都是表決true,就是系統注銷(xiāo)的時(shí)候,程序自動(dòng)退出.
所以你要相應系統注銷(xiāo)這個(gè)消息, 比如提醒用戶(hù)要不要退出,或者作一些記錄log的操作, 在.net 中只要掛一個(gè)事件處理到Microsoft.Win32.SystemEvents.SessionEnding 這個(gè)事件上面去.你可以做一些自定義的操作.比如:
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。