2010-05-23 23 views
1

我想创建一个windows服务,可以将按下的键记录到文件中。Windows服务中的关键事件处理C#

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

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

感谢您的时间。

回答

1

两件事情来检查:

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

祝你好运!