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("哈哈哈","这你都信"); }
时间: 2024-10-24 07:08:44