c - Windows XP 和 Windows 7 之间注销通知事件的差异

标签 c winapi events session service

我有一个服务/应用程序可以接收 Windows session 更改的通知。 我注意到 Windows XP 和 Windows 7 之间的行为差​​异,我正在尝试确定它是错误还是记录在案的行为变化。

通知的形式是:WTSSESSION_NOTIFICATION .

Windows XP 按预期报告:WTS_SESSION_LOGON在 Windows GUI 登录和:WTS_SESSION_LOGOFF在 Windows GUI 注销时。

在 Windows 7 x64 下,GUI 登录 WTS_SESSION_LOGON已生成,但在注销时我得到一个 WTS_CONSOLE_DISCONNECT事件而不是 WTS_SESSION_LOGOFF事件。

这是一个错误还是版本之间的常量值发生了变化?它对我开发的服务来说并不是非常重要,但我仍然想知道为什么它的行为会有所不同。

最佳答案

只有服务可以在 Windows 7 下接收 WTS_SESSION_LOGOFF 事件。当服务收到通知时,注销过程已经结束(因此用户正在运行的所有应用程序都已被终止)。

关于c - Windows XP 和 Windows 7 之间注销通知事件的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4863058/

相关文章:

node.js - Node JS、Socket.io、异步和阻塞事件循环

将CPU改为GPU并运行OpenCL程序遇到调用模糊提示

c - 涉及在 C/C++ 中生成的大量矩阵的速度优化 - 存储在文件中与重新计算

c++ - Visual Studio 奇怪的异常

c++ - MinGW,g++,winapi,winsdk,迷茫中

events - Smalltalk 中的事件处理(squeak)

c - 如何为返回 int* 的 C 函数生成 R 包装器?

c - C 中的有符号到无符号转换 - 它总是安全的吗?

c++ - GetModuleHandle() 无法检索由 "advapi32.dll"加载的 "notepad.exe"的句柄

wpf - 在 WPF 中的 Window.Resources 中声明 EventTrigger 时不起作用