長按電源鍵如何拒絕關機?
在大多數較新的電腦上,您可以通過按住電源按鈕幾秒鐘來硬關機。但我想完全防止這種情況。
您可以防止 Windows 控制面板中的一些軟事件,如睡眠、暫停、休眠和“按下電源按鈕”事件;您還可以使用一些 Win32 和 WDI 程式來擷取和處理/拒絕這些事件,但是當您長時間按住按鈕時,它似乎並沒有停止機械電源關閉。
我猜電源按鈕是硬連線到電源的,當你按住它幾秒鐘時,它永遠不會等待作業系統?或者有什麼方法可以通過程式碼來防止這種情況?
我是一名 .NET 開發人員。
哇哦……!你們中的許多人真的主張不要這樣做——“你不擁有我的電腦或我的作業系統”,——“你在開發 SkyNet”等等 :) 對於某些客戶來說,這個應用程序是一個高度定制和封閉的解決方案。它是在 Windows XP Embedded 上執行並使用觸摸屏的定制硬體上的資訊亭應用程序。這不是公開的。
有關 4 秒規則,請參閱 ACPI 規範的第 62 頁 ( http://www.acpi.info/DOWNLOADS/ACPIspec30b.pdf )
總而言之,邏輯是在硬體中。
我希望你不能這樣做。我多次遇到無法以任何其他方式重新啟動電腦的情況。在這種情況下,您真的要強製筆記型電腦使用者在執行時拔下電源並取出電池嗎?
給出這個警告後,您可能正在為更有意義的不同情況編寫軟體。您能否詳細說明這樣做的動機?
如果使用者能夠按住電源按鈕(表明他們真的非常想關閉機器),他們是否無法物理移除電源?
編輯:回應 magsto 的評論:
如果每個參與的人都非常非常想要這個 - 向他們解釋說如果出現問題並且他們需要硬重置電腦,他們將不得不採用更直接的關機方式,我懷疑這種方式更有可能比“按住電源”方法損壞硬體…與設備製造商交談。聽起來您可能正在使用特定設備,因此他們可能能夠為您調整 BIOS 中的某些內容,即使它不是公開可用的選項。
鑑於這幾乎總是一個非常糟糕的主意,我並不感到驚訝,它沒有簡單的支持,但如果你問製造商,可能會有一些隱藏的方式來做你想做的事。不過,我仍然鼓勵您讓每個人都參與進來,思考所有潛在的後果。