处理C#服务中的窗口消息

时间:2015-05-13 10:54:17

标签: c# service

我想捕获工作站锁定和解锁以及用户登录和注销事件。我已经编写了一个覆盖WndProc函数的程序,但这不会捕获登录和注销事件(因为当发生此事件时应用程序已退出或尚未启动)。

所以我认为使用服务可能会有效。我已经阅读了 Receive Windows Messages in a Service ,但我在C#中找不到GetMessage()。 如何使用C#在服务中完成阅读Windows消息?

顺便说一下,我也在 Message pump in .NET Windows service 中尝试了这种方法,但我无法弄清楚这是如何适应我的问题的。此外,参考Microsoft链接不再可用...

1 个答案:

答案 0 :(得分:1)

.NET Windows服务文章中的消息泵应该是您使用的。如果您需要消息泵,您还需要一个接收消息的窗口句柄。该文章向您展示了如何创建Native Win32窗口以及如何处理发送给它的消息。您可能在该文章中遗漏的是,您只需要注册每次收到新邮件时都会引发的MessageHandler.MessageReceived事件。