XP系统中关机、注销、重启功能
来源:互联网 发布:能源计量数据管理制度 编辑:程序博客网 时间:2024/05/23 00:06
void CRestartAndShutdown::OnRestartcom()
{
CSystemCom systemcom;
if(systemcom.DoModal() == IDOK){
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
DWORD dwVersion;
dwVersion=GetVersion(); //取得当前操作系统的版本信息
if(dwVersion<0x80000000){ //当系统版本高于98时执行以下代码
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken);
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,&tkp,0,(PTOKEN_PRIVILEGES)NULL,0);
ExitWindowsEx(EWX_REBOOT|EWX_FORCE,0);
}
else
ExitWindowsEx(EWX_REBOOT|EWX_FORCE,0);
}
}
void CRestartAndShutdown::OnShutdowncom()
{
CSystemCom systemcom;
if(systemcom.DoModal() == IDOK){
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
DWORD dwVersion;
dwVersion=GetVersion(); //取得当前操作系统的版本信息
if(dwVersion<0x80000000){ //当系统版本高于98时执行以下代码
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken);
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,&tkp,0,(PTOKEN_PRIVILEGES)NULL,0);
ExitWindowsEx(EWX_SHUTDOWN|EWX_FORCE,0);
}
else
ExitWindowsEx(EWX_SHUTDOWN|EWX_FORCE,0);
}
}
void CRestartAndShutdown::OnLogoffCom()
{
// SendMessage(WM_CLOSE,0,0); //关闭登录窗口
/* CSystemCom systemcom;
if(systemcom.DoModal() == IDOK+1){
CDialog::OnOK();
AfxGetMainWnd()->PostMessage(WM_CLOSE,0,0); //关闭主界面
CLoginSystem login;
login.DoModal();
}*/
CSystemCom systemcom;
if(systemcom.DoModal() == IDOK){
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
DWORD dwVersion;
dwVersion=GetVersion(); //取得当前操作系统的版本信息
if(dwVersion<0x80000000){ //当系统版本高于98时执行以下代码
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken);
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,&tkp,0,(PTOKEN_PRIVILEGES)NULL,0);
ExitWindowsEx(EWX_LOGOFF|EWX_FORCE,0);
}
else
ExitWindowsEx(EWX_LOGOFF|EWX_FORCE,0);
}
}
- XP系统中关机、注销、重启功能
- win32 关机、重启、注销功能
- VC中关机-重启-注销-休眠
- 关机 重启 注销
- 注销 关机 重启
- 在c#中怎么调用ExitWindowsEx函数实现XP的关机、注销、重启操作?
- 简单实现windows系统普通或强制关机重启注销的功能
- C#实现关机、重启、注销功能 2009-2-20
- DELPHI中调用API函数ExitWindowsEX可以实现系统的关机,注销,和重启
- 控制系统关机,重启,注销
- linux注销、关机、重启
- 强制关机/重启/注销
- MFC-关机注销重启
- 注销 重启 关机 定时
- C# 实现系统关机、注销、重启、休眠、挂起
- C# 实现系统关机、注销、重启、休眠、挂起
- C++ 实现系统注销,重启,关机的方法
- C#实现系统关机、重启、注销等操作
- XP系统中调用系统关机对话框
- XP系统中调用系统的锁定功能
- 读写配置文件
- 获得主程序所在路径并建立配置文件
- ASP.NET2.0中Gridview中数据操作技巧
- XP系统中关机、注销、重启功能
- 在Eclipse中配置Struts2项目(二)
- VC#技巧设计小结
- VC++编程技巧83例
- 链接器都干了些什么?
- VC编程总结
- 漫谈WinCE输入法的编写(四)
- VC中的常用方法20条
- Automatic Update prompting to download KB890859 again and again?