2013-12-18 37 views
1

我有兴趣编写一个程序,该程序可以帮助我在线编写考卷。我想用键盘来控制鼠标,例如,如果我按'1',那么鼠标将被发送到指定的位置,然后单击它。这至少会使我的工作量增加一倍。问题在于标记是通过Internet Explorer完成的,所以Java程序将会失去焦点。从搜索这个网站,我发现有人编写了一个库,可以接收焦点以外的键盘输入,但我找不到任何这样的老鼠(我不认为Java机器人的工作焦点)。当Java窗口不在焦点时控制鼠标

有谁知道这样的程序在使用标准库的Java中是否可行?

回答

1

问题当然是在Java不重点时捕获按键。您有三种主要的选项,据我可以告诉:

  1. 写自己的JNA或JNI代码来注册您的热键,或
  2. 发现,这是否一个库并调用其方法,或
  3. 使用与您的Java程序链接的AutoIt(如果是Windows)等脚本程序,例如使用连接两个程序的标准输入和输出的套接字。

我已经成功地使用了第三个选项,但实际上对于我来说,在AutoIt中执行所有操作通常更简单。


注意,这种说法是不正确的:

(我不认为Java机器人的工作原理失焦)。

Java机器人并不要求GUI具有焦点,实际上并不需要运行GUI。