实现计算机重启

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("哈哈哈","这你都信");
}

  

爱程序 不爱bug 爱生活 不爱黑眼圈 我和你们一样 我和你们不一样 我不是凡客 我要做geek
原文地址:https://www.cnblogs.com/yifi/p/4599249.html