我試圖在用戶嘗試停止服務時顯示消息框。停止服務之前的WTSSendmessage
爲此,我使用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;
你確定「dwSession」變量設置正確嗎?它的價值是什麼? – CoreTech
dwsession設置爲「DWORD dwSession = WTSGetActiveConsoleSessionId();」 – 2vision2
嗨核心技術,問題是與「dwsession」..我用「WTS_CURRENT_SESSION」替換「dwsession」。 「WTS_CURRENT_SESSION」被定義爲「#define WTS_CURRENT_SESSION((DWORD)-1)」。但相同的代碼是不是在Windows 7中工作..任何想法? – 2vision2