該程序可以實(shí)現任何時(shí)候按下 Win + H 即可休眠計算機.
值得指出的是,這里說(shuō)的“休眠(Hibernate)“是指徹底關(guān)閉系統電源也沒(méi)事的那種, 而不是“待機(suspend)“,用戶(hù)經(jīng)?;煜@兩個(gè)概念,但程序員不該混淆.
代碼如下:
BOOL CMainFrame::HibernateWorkstation()
{
OSVERSIONINFO osv;
osv.dwOSVersionInfoSize = sizeof OSVERSIONINFO;
GetVersionEx(&osv);
if(VER_PLATFORM_WIN32_NT == osv.dwPlatformId)
{
// 如果運行在NT/XP平臺
// 必須先取得權限
HANDLE hProcess, hToken;
TOKEN_PRIVILEGES Privileges;
LUID luid;
hProcess=GetCurrentProcess();
OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES, &hToken);
Privileges.PrivilegeCount = 1;
LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &luid);
Privileges.Privileges[0].Luid = luid;
Privileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &Privileges, NULL, NULL, NULL);
}
::SetSystemPowerState(FALSE, TRUE); // 第一個(gè)參數FALSE為休眠, 第二個(gè)參數TRUE表示強制休眠
return TRUE; // 示例程序,我就直接return了,呵呵.
}
附: 對休眠的詳細解釋
休眠是系統將當前狀態(tài)保存于硬盤(pán)中,然后退出系統,此時(shí)CPU、內存和硬盤(pán)都停止運行,電腦不再使用任何電力;一旦再次按下電源開(kāi)關(guān)(筆記本也可以是打開(kāi)翻蓋)就可以激活系統,電腦快速從硬盤(pán)中調入待休眠前狀態(tài)進(jìn)入系統.
閑聊一句,休眠的特點(diǎn)是開(kāi)機速度非???我的機子從按下POWER到出現登陸界面只需 6 秒 ^_^
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。