【问题标题】:Disable some PC keyboard keys using Java使用 Java 禁用某些 PC 键盘键
【发布时间】:2016-06-17 19:41:17
【问题描述】:

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

我想在软件运行时禁用一些键盘键,例如控制键、备用键和 windows 键。

我该怎么做?

【问题讨论】:

  • 简而言之,你不能。
  • 我认为 Java 中没有任何方法可以做到这一点。您将不得不调用一些本机组件。
  • 我尝试使用此 KeyHook Java class 但我收到此错误:不兼容的类型:指针无法在这行代码中转换为 LPARAM:return lib.CallNextHookEx(hhk, nCode, wParam, info.getPointer ());
  • 见:securing windows as a kiosk。这并不完全是您正在寻找的东西,因为它通过 Windows 注册表黑客禁用密钥并在不使用 Java 的情况下重新启动。但是话又说回来,根据您要禁用的键,您可能无法找到完全按照您的要求进行操作的方法。
  • 你在制造病毒吗?:)

标签: java javafx keyboard


【解决方案1】:

使用 Java.awt.Robot 删除某些键使用的一个非常贫民区的方法是使用 Java.awt.Robot,但它不会停止操作系统特定的钩子,如 CTRL + ALT + DELETE,但它会停止 Alt + Tab 的工作。

Robot r = new Robot();
while(true)
{
  r.keyRelease(VK.ALT);
  r.keyRelease(VK.TAB);
  //etc etc
}

【讨论】:

    猜你喜欢
    • 2016-11-06
    • 1970-01-01
    • 2012-10-30
    • 2012-07-09
    • 2012-04-19
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 2013-05-10
    相关资源
    最近更新 更多