WM_QUERYENDSESSION的Windows 2003 Server和远程桌面问题

时间:2010-02-02 14:31:52

标签: windows remote-desktop

我遇到一个奇怪的问题,我写了一个小应用来检测Windows关机。

使用远程桌面连接到Windows 2003服务器,有时在登录时我从操作系统获取WM_QUERYENDSESSION,其中lParam = 0,我的应用程序将其解释为关闭请求(如http://msdn.microsoft.com/en-us/library/aa376890%28VS.85%29.aspx中所述),并且结果,执行它的任务。 问题是,我实际上正在登录,没有关闭或重新启动系统。

我认为它可能与Windows 2003 Server下的会话管理有关,因为同样的工具在Windows XP上运行得非常好。

我尝试将远程访问限制为每个用户最多1个远程会话,但它没有改变行为。

对此有任何提示吗?

1 个答案:

答案 0 :(得分:0)

我想这个答案为时已晚,不再对你有任何用处,但为了其他可能有同样问题的人的利益:我过去成功使用过SetConsoleCtrlHandler函数而没有同样的意外的误报,WM_QUERYENDSESSION似乎很容易发生。这可能值得一试。