我的程序在系统出现登录框前已经运行,问: 如何实现关机?
我是接管系统的msgina.dll实现的,(不是服务程序)但无法实现关机. 恳请指点
我是接管系统的msgina.dll实现的,(不是服务程序)但无法实现关机. 恳请指点
解决方案 »
- basler pilot系列面阵相机,变量不能在不同的函数中使用。。。
- VC++6.0EXE文件图标问题
- 怎么截取网络数据包?
- 为什么创建的Windows服务不能暂停
- 程序在较高dpi下运行字体能否保持一致?
- 如何让菜单和对话框共用一个消息响应函数
- 个人感觉QQ的技术还是很牛比的.不服的进来看看
- CLongBinary
- CWnd中,如何确定滚动条是否被显示出来?
- 急求助。。。需要写一个代理服务器,请问谁有可用的源码吗??给偶讲解讲解???
- 200分求解:MSChart 控件问题:刷新数据出现闪烁问题,怎样解决解决了另开两贴
- 一个见到的问题,关于CWinApp::LoadStandardCursor
uFlags;指定关机类型。此参数必须包括下列值之一:EWX_LOGOFF,EWX_POWEROFF,EWX_REBOOT,EWX_SHUTDOWN
上面的语句在登录后执行能正常关机, 但是在未登录前却不行,怎么回事呢
#define WINNT 1int GetSysVer()
{
DWORD dwVer = GetVersion();
if (dwVer < 0x80000000) return WINNT;
return WIN9X;
}void Reboot()
{
if(GetSysVer() == WINNT)
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
if(! OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken)){
return ;
}
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); MessageBox(NULL,L"winnt",L"test",0);
}
MessageBox(NULL,L"shutdown",L"test",0); ExitWindowsEx(EWX_SHUTDOWN|EWX_POWEROFF, EWX_FORCE); <<-----------关键代码
}
主要的控制代码,在登录后执行是没有问题的,可以正常关机,但登录后不行了..