我试图在用户尝试停止服务时显示一个消息框。
为此,我使用了WTSSendmessage
API ……一旦发生SERVICE_CONTROL_STOP
事件,我就调用了该函数。
我在上面的步骤是对的吗? 因为一旦用户试图停止服务,我没有收到消息框。
请指导我……
以下是我的代码片段::
case SERVICE_CONTROL_STOP: WTSSendMessage = (fptr1)GetProcAddress(hinstLib, "WTSSendMessage"); BOOL ret = WTSSendMessage(WTS_CURRENT_SERVER_HANDLE, dwSession, lpszTitle, 12 ,lpszText, 7 ,MB_YESNO|MB_ICONINFORMATION, 0, &res, TRUE); ServiceStatus.dwCurrentState = SERVICE_STOP_PENDING; SetServiceStatus( serviceStatusHandle, &serviceStatus ); SetEvent( stopServiceEvent ); return;
使用WTSGetActiveConsoleSessionId(),如我在之前的问题中向您展示的MSDN文章中所述。 那篇文章包含了你需要的所有代码。
我还强烈建议您为API调用添加错误检查。 在没有这种帮助的情况下诊断错误比它需要的更难。
以上就是c/c++开发分享停止服务之前的WTSSendmessage相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/519746.html