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("哈哈哈","这你都信");
}
原文:http://www.cnblogs.com/yifi/p/4599249.html