2014-07-23 59 views

回答

6

消息被髮送到頂層窗口。如果你的進程有一個,它會發送消息。如果你沒有一個,那麼你可以爲此創建一個。如果您的應用程序是控制檯應用程序,那麼推薦使用SetConsoleCtrlHandler來接收此類通知。

它從註釋線程中發現您的進程正在SYSTEM帳戶下運行。根據documentation,這意味着它不會被系統關閉。

運行在系統安全上下文中的應用程序不會被操作系統關閉。他們會通過SetConsoleCtrlHandler安裝的回調函數得到關機或註銷的通知。

+0

那麼你是說所有以計劃任務運行的東西仍然收到消息? – jpfollenius

+0

從系統的角度來看,作爲計劃任務開始的過程並不特別。這只是另一個過程。如果它有頂級窗口,那麼他們會發送消息。 –

+0

@jpfollenius - 但是,例如,任務調度程序有能力在非交互式桌面上運行應用程序。問答遊戲...你的任務....? –