標籤:
1.建立工程
2.添加3個控制項按鈕 ID分別為 IDC_BTCLOSE IDC_BTRESET IDC_BTLOGOUT 分別為“關閉電腦”,“重新啟動”,“登出電腦”
3. 在OnInitDialog中設定實現關機的許可權
static HANDLE hToken;static TOKEN_PRIVILEGES tp;static LUID luid;OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken);LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&luid);tp.PrivilegeCount = 1;tp.Privileges[0].Luid = luid;tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(TOKEN_PRIVILEGES),NULL,NULL);
4.“關閉電腦”按鈕實現函數
void CshutdownDlg::OnBnClickedBtclose(){// TODO: 在此添加控制項通知處理常式代碼ExitWindowsEx(EWX_POWEROFF,0);MessageBox("哈哈哈","這你都信");}
“重新啟動”按鈕實現函數
void CshutdownDlg::OnBnClickedBtreset(){// TODO: 在此添加控制項通知處理常式代碼ExitWindowsEx(EWX_REBOOT,0);MessageBox("哈哈哈","這你都信");}
“登出電腦”按鈕實現函數
void CshutdownDlg::OnBnClickedBtlogout(){// TODO: 在此添加控制項通知處理常式代碼ExitWindowsEx(EWX_LOGOFF,0);MessageBox("哈哈哈","這你都信");}
實現電腦重啟