在 Windows 10 和 11(我不確定以前的版本)中,如果您單擊Start,然后單擊電源圖示,然后Shut down Windows 將關閉,然后在下一次開機時:
快速啟動
自動登錄最后一個互動用戶并鎖定會話
啟動“開始”選單“啟動”檔案夾中的任何應用程式,但不啟動關閉時正在運行的任何其他應用程式。
我正在嘗試使用 Win32 api 執行此操作,但我不知道如何執行此操作。該ExitWindowsEx()功能有一個快速啟動選項,但沒有選項讓用戶在下次啟動時重新登錄。InitiateSystemShutdownEx()功能更加有限。
我注意到該命令會shutdown /sg關閉,然后在下次啟動時自動登錄最后一個用戶,但它不支持快速啟動(混合關閉),它會重新啟動以前運行的所有應用程式,而不僅僅是啟動檔案夾中的應用程式。
我假設開始,電源,關機必須使用其他方法來關閉 Windows。如果有人知道如何重現這個,請告訴我。
uj5u.com熱心網友回復:
快速啟動和休眠
首先,注意休眠和快速啟動是不同的。簡而言之,快速啟動是介于休眠和正常關機之間的某種休眠狀態。更多關于這篇文章的內容。
要進入計算機休眠使用SetSuspendStatewin api。
可以通過將 傳遞給 來執行快速EWX_HYBRID_SHUTDOWN啟動ExitWindowsEx。
應用程式重啟
您可以注冊應用程式以重新啟動使用RegisterApplicationRestart,然后按照本文的建議將標志傳遞EWX_RESTARTAPPS給。ExitWindowsEx
自動登錄
重啟后有不同的方法可以登錄當前用戶。例如使用注冊表 - HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\AutomaticRestartSignOnConfig. 有關它的更多資訊以及可能更適合您的用例的其他選項,請參閱本文。
uj5u.com熱心網友回復:
如果其他人遇到此問題,解決方案是將(未記錄的)EWX_ARSO標志與ExitWindowsEx().
狀態的檔案ExitWindowsEx():
Syntax
BOOL ExitWindowsEx(
[in] UINT uFlags,
[in] DWORD dwReason
);
Parameters
[in] uFlags
The shutdown type. This parameter must include one of the following values.
EWX_HYBRID_SHUTDOWN
0x00400000
Beginning with Windows 8: You can prepare the system for a faster startup by combining the EWX_HYBRID_SHUTDOWN flag with the EWX_SHUTDOWN flag.
etc
它描述了決定如何關閉 Windows 的六個標志,但它沒有提及該EWX_ARSO標志,并且確實谷歌搜索它沒有找到有用的資訊。但是,該標志在 Windows中定義并包含它提供與單擊開始、電源、關閉winuser.h完全相同的行為。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/468953.html
上一篇:從WNDPROC轉換為LONG
下一篇:附加到注冊表而不擴展變數
