使用JNA禁用某些PC键盘键

时间:2016-07-05 05:58:56

标签: java keyboard-shortcuts jna hotkeys

我正在使用Java开发一个软件项目。我也在使用JavaFX作为它的GUI。当该软件在PC上运行时,它应该锁定PC的屏幕,直到输入有效的引脚。

我希望在运行软件时禁用某些键盘键,例如control,alternate和windows键。

如何使用JNA执行此操作?

2 个答案:

答案 0 :(得分:1)

您可以使用<asp:ImageButton ID="IMGBTN001" runat="server" ImageUrl="Images/ico/labaniat.png" class="img-responsive em-img-lazy" OnClientClick="ShowCurrentTime('01')" /> 来检测是否按下了目标键。

如果按下,什么都不做。

它与[System.Web.Services.WebMethod] public static string GetCurrentTime(string name) { return "Hello " + name + Environment.NewLine + "The Current Time is: " + DateTime.Now.ToString(); }

类似

更多细节how to disable keyboard hotkey in java swing

在此页面is it is possible to disable the windows keys using java

您可以通过JNA界面检测关键操作,但键仍然有效。

答案 1 :(得分:0)

如果不与操作系统的登录过程(称为 Winlogon )集成,则无法锁定Windows桌面。

在Windows Vista及更高版本中,您可以将PIN流程设为Winlogon Credential Provider。在Windows XP中,您需要添加Winlogon GINA hook

请注意,如果没有操作系统的帮助,则无法阻止对所有OS用户界面元素的访问。如果没有别的,用户将始终能够使用Ctrl-Alt-Del,它由内核直接处理,不能被用户态应用程序截获。