请问如何实现自动关机?要求无需出现关机选择对话框。
比如说点一下按钮,机器就直接关闭了。网上下了几个,要么不行,要么还需点击确定才能关。
谢!
比如说点一下按钮,机器就直接关闭了。网上下了几个,要么不行,要么还需点击确定才能关。
谢!
解决方案 »
- VC中关于处理键盘按键消息事件的问题!
- 关于 tlhelp32.h
- *** 如何获得“解除计算机锁定”对话窗口的句柄
- 请问如何判断窗口是否具WS_MAXIMIZEBOX或WS_MINIMIZEBOX属性:
- MFC界面 点击鼠标左键,然后在当前位置插入一张图???急!!!
- 关于opengl3的问题。
- 【版务】前次评选的优秀斑竹、网友奖品发送
- 在OpenGL中如何将内存中动态生成的图象作为纹理帖到空间平面上?分不够可再加
- 新年散分大行动
- 变速齿轮/兄弟变速器的原理
- [求助]用CSocket编写的C/S程序,server端出现内存泄露(Detected memory leaks!),却查不出错误~~~~~
- 编的1个学生管理系统,出问题了,刚学的菜鸟向前辈们求救!!
{
OSVERSIONINFO OsVersionInfo; //包含操作系统版本信息的数据结构
OsVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&OsVersionInfo); //获取操作系统版本信息
if(OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT)
{
HANDLE handle;
CString pszName= "SeShutdownPrivilege";
CString pszSysName;
LUID Luid;
TOKEN_PRIVILEGES TkPriv;
TOKEN_PRIVILEGES TkPriv2;
unsigned long ulLen;
handle = GetCurrentProcess();
OpenProcessToken(handle,40,&handle);
memset(&Luid,0x00,sizeof(Luid));
LookupPrivilegeValue(pszSysName,pszName,&Luid);
memset(&TkPriv,0x00,sizeof(TkPriv));
TkPriv.PrivilegeCount = 1;
TkPriv.Privileges[0].Luid = Luid;
TkPriv.Privileges[0].Attributes = 2;
memset(&TkPriv2,0x00,sizeof(TkPriv2));
AdjustTokenPrivileges(handle,FALSE,&TkPriv,16,&TkPriv2,&ulLen);
return ExitWindowsEx(uFlags,0);
}
else
{
return ExitWindowsEx(uFlags,0);
}
}
[email protected]
EWX_FORCE:强制关闭,Windows不会发送任何消息给正运行的程序,这可能导致数据丢失; EWX_LOGOFF:关闭所有正在运行的程序,注销当前用户并重新登录;
EWX_POWEROFF:关闭Windows并关机,系统必须支持电源管理;
EWX_REBOOT:关闭Windows并重新启动;
EWX_SHUTDOWN:关闭Windows,缓冲区内的数据将被写入磁盘。
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
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_POWEROFF, 0);