關機:等待程式關閉

關機:等待程式關閉

當我按下關機按鈕時,無論哪個簡單的程式/任務需要更多時間,Windows都會愉快地拒絕關機。當我按下實體關閉按鈕時,我希望 Windows 無論如何都能關閉,但 veracrypt 除外,它需要足夠的時間來重新加密磁碟機、清除記憶體中的金鑰以及退出時執行的其他操作。

這是可以實現的嗎?

(全域強制關閉顯然不是 veracrypt 需要正確關閉的選項)

答案1

我在上面詢問您所使用的 Windows 版本的原因是因為您聲稱“當我按下關機按鈕時,無論哪個簡單的程序/任務需要更多時間,Windows 都會愉快地拒絕關機,這根本不是事實適用於XP 之後的任何版本。

正如雷蒙德陳 (Raymond Chen) 所說Windows Vista 中電源管理的更改既然 Windows 讓您的程式更難阻止關機,那麼如何阻止關機呢?,從 Vista 開始,僅應用程式實現 ShutdownBlockReasonCreate()功能可以在啟動後阻止關閉過程,即使如此,用戶始終可以選擇強制關閉,無論如何。這樣做是為了防止人們(尤其是筆記型電腦用戶)過去常常啟動關機,但後來發現系統一直處於開啟狀態,因為它由於某些應用程式而卡住,從而導致發熱或耗盡電池。

您可以輕鬆地對此進行測試。打開一堆應用程序,如果有未儲存的更改,這些應用程式不允許您關閉它們。例如記事本、畫圖、Word等都會彈出“你想保存嗎?”類型對話框。現在,如果您將電源按鈕設為關閉並按下它,您將看到一個顯示所有打開的應用程式的窗口,並且它們將要無論你是否很快保存你的工作,都會被殺死。

到目前為止,我還沒有遇到濫用 ShutdownBlockReasonCreate() 來阻止 Windows 關閉的消費者應用程式。這並不是說不存在此類行為不當的應用程序,但您聲稱每個微不足道的程序都可以阻止 Windows 關閉的說法不再成立。如果您確實遇到了這種情況,那麼您的終端顯然有問題,因為這不是自 Vista 以來 Windows 應該的行為方式(而且確實如此)。

相關內容