VC++简单实现关机、重启计算机实例代码
本文以一个实例形式介绍了VC++简单实现关机、重启计算机的方法,代码比较实用,有一定的参考价值。完整实例代码如下:
voidCWebBrowserView::OnMenuShutdown() { //TODO:在此添加命令处理程序代码 if(AfxMessageBox("确定要关机吗?",MB_YESNO)==IDYES) { HANDLEhToken; TOKEN_PRIVILEGEStkp; //Getatokenforthisprocess. if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken)) { AfxMessageBox("OpenProcessTokenError!"); return; } //GettheLUIDfortheshutdownprivilege. LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid); tkp.PrivilegeCount=1;//oneprivilegetoset tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED; //Gettheshutdownprivilegeforthisprocess. AdjustTokenPrivileges(hToken,FALSE,&tkp,sizeof(TOKEN_PRIVILEGES),(PTOKEN_PRIVILEGES)NULL,NULL); if(GetLastError()!=ERROR_SUCCESS) { AfxMessageBox("关机失败"); return; } //Shutdownthesystemandforceallapplicationstoclose. ExitWindowsEx(EWX_SHUTDOWN|EWX_FORCE,0);//重启只需要把EWX_SHUTDOWN改为EWX_REBOOT } }