Windows服务中的关键事件处理C#

我想创build一个Windows服务,可能会logging按键到文件。

为了处理全局键事件,我使用钩子,钩子非常适用于桌面应用程序。 但它不适用于服务。

是否有可能开发一个关键事件处理的Windows服务? 在C#上开发

谢谢你的时间。

两件事情要检查:

  1. 在调用SetWindowshookEx()时,请确保dwThreadId参数为0,以便“根据MSDN,”钩子过程与在调用线程所在的同一桌面上运行的所有现有线程相关联“。
  2. 该服务必须被授予访问桌面的权限。 通过服务属性,“登录”选项卡,以本地系统帐户登录,然后选中“允许服务与桌面交互”。

祝你好运!