C# Application.Run()在Windows服务中调试时工作,但在安装该服务后,它不工作
我正在尝试在windows服务中编写键盘记录器。所以我使用了Application.Run()方法 我尝试使用installutil.exe命令提示符安装该服务,它显示为:C# Application.Run()在Windows服务中调试时工作,但在安装该服务后,它不工作,c#,windows-services,C#,Windows Services,我正在尝试在windows服务中编写键盘记录器。所以我使用了Application.Run()方法 我尝试使用installutil.exe命令提示符安装该服务,它显示为: The transacted install has completed. The installation failed, and the rollback has been performed. 如果我删除Application.Run(),则它正在安装,但键记录不起作用。 调用该方法的Application.Run(
The transacted install has completed.
The installation failed, and the rollback has been performed.
如果我删除Application.Run(),则它正在安装,但键记录不起作用。
调用该方法的Application.Run()的任何替代方法
private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
{
}
请帮助我了解如何使用Application.run()或Application.run()的任何其他替代程序运行以调用函数HookCallBack我认为您误解了服务的工作方式。服务本身只是来自windows的服务控制器的包装,在windows中处理启动/停止/暂停和其他与服务相关的操作系统命令 您需要在服务内创建一个线程,该线程执行您的应用程序逻辑。之后应该没有问题 请注意,我怀疑您能否通过使用windows服务实现您的目标。默认情况下,由于安全原因,windows服务已禁用桌面交互。要访问桌面或任何其他相关UI内容,您需要使用复选框“允许服务与桌面交互”更改服务的安全设置(但我无法告诉您这是否适用于您,因为您确实可以检查用户输入的密钥) 请也看看这个
private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
{
}