2009-10-17 126 views
4

窗口热键我建立挂接键盘的程序,并且当一些热键按压它开扩的门(即连接到计算机的COM1串行端口)。钩从登录屏幕

这工作正常,直到我锁定计算机(WINKEY + L)。 我希望能够使用登录屏幕上的同一热键打开门。

我使用的是Windows XP & C#。

我该怎么做?

谢谢。

+0

难道你不能替换GINA.dll来获得你想要的功能吗? – mrduclaw 2009-10-18 03:12:10

回答

2

Yahhhhhhhhhhhh!我找到了!!

这可以用 “psexec/X” Sysinternals公司来完成。

+0

嗨,我有使用WIN32 API完全相同的问题在C++中(除非我不控制门,而是写入文件以更新键盘仿真中arduino的网页)。你是如何继续通过锁屏获得键盘敲击的? – 2014-02-14 19:18:29

3

你需要编写一个这样的Windows服务。服务和驱动程序可以在用户登录之外运行,并且服务比驱动程序更容易编写。

+0

嗨,我有完全相同的问题,我试图解决安装程序作为与NSSM服务,但它不会执行任何代码后启动,可能是权限问题,即使我配置登录设置到本地计算机管理员帐户。有什么想法吗?我的主题在这里:http://stackoverflow.com/questions/21797347/hook-keyboard-shortcuts-from-windows-lock-screen - 谢谢 – 2014-02-15 16:30:50

2

你不行。当屏幕被锁定时,鼠标和keboard输入不会被发送到正在运行的程序。这是一个安全的事情。如果你能与正在运行的程序,当屏幕被锁定沟通那么这将是锁定屏幕

+2

请注意,winkey + U正在登录屏幕上工作,它运行一些微软可访问性应用程序。 我想这不是专有的hard-codrd功能,其他第三方可访问性应用程序也可以做这样的事情...... – DxCK 2009-10-17 22:57:31

+1

@DxCK,操作系统可以做任何它想做的事情,这就是winkey + U工作的原因。在用户空间中运行的程序必须遵守操作系统规定的规则。其中一个规则是,按键不会传递给在用户空间中运行的程序。我从来没有见过任何从锁定屏幕使用的可访问性程序(我不是说它们不存在,只是我从来没有遇到过它们) – Glen 2009-10-20 19:22:00

1

程序可以在普通用户权限运行的点不准乱用登录屏幕出于安全原因。这使得密钥记录器难以看到您的密码。

您需要将程序转换为服务。有关如何实施和安装服务的详细信息,请参阅 http://msdn.microsoft.com/en-us/library/ms686953(VS.85).aspx