实现计算机重启

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

  

posted on 2015-06-25 09:53  yifi  阅读(308)  评论(0编辑  收藏  举报

导航