C++, Qt Windows关机的时候,阻止其关机或这注销 做其它业务的解决方法

代码网上一搜一堆,截获WM_ENDSESSION和WM_QUERYENDSESSION消息,但是自己试了下,还是会正常关机,无法出现阻止的效果。
需要修改注册表HKEY_CURRENT_USER,下的Control Panel\Desktop里的WaitToKillAppTimeout、AutoEndTasks和HungAppTimeout得值,
修改方式如下:
RegOpenKey(HKEY_CURRENT_USER,”Control Panel\Desktop”,&_regkey);
RegSetValueEx(_regkey, “WaitToKillAppTimeout”, 0, REG_SZ, (const BYTE*)”120000”, 6);
RegSetValueEx(_regkey, “AutoEndTasks”, 0, REG_SZ, (const BYTE*)”0”, 6);
RegSetValueEx(_regkey, “HungAppTimeout”, 0, REG_SZ, (const BYTE*)”120000”, 6);
RegCloseKey(_regkey);
挂起3个多小时,超时3个多小时,这样再关机运行程序,就会出现提示阻止关机或注销的警告。

//Qt的话,先把注册标的值给该了,然后连接commitDataRequest(QSessionManager&)信号,
在关机的时候,处理一些自己的业务,如果在超时时间内的也会弹出阻止关机/注销的提示。

在main函数中连接消息
QObject::connect(&a, SIGNAL(commitDataRequest(QSessionManager&)), &w, SLOT(showExitSystemInfo(QSessionManager&)));

阅读更多
文章标签: Qt C++ windows阻止关
个人分类: C++
上一篇用VLC打开rtsp流,并用OPencv处理播放
下一篇Qt调用Windows Webbrowser控件,调用JS方法
想对作者说点什么? 我来说一句

禁止关机 小程序 VC

2008年11月22日 38KB 下载

没有更多推荐了,返回首页

关闭
关闭