从系统读取所有键盘按键值并写入文件,不仅来自控制台,还来自系统的整个输入,如 wordpad 按键、notpad 按键等。
问问题
2113 次
3 回答
1
像这样的东西?
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
FileWriter fw = new FileWriter("/file.txt");
BufferedWriter bw = new BufferedWriter(fw);
bw.write(s);
bw.flush();
bw.close();
于 2013-07-30T11:39:37.283 回答
1
不,您无法在 java 程序之外捕获键事件。
如果你想这样做,你将不得不通过 C/C++ 库使用 OS 挂钩。
如果你真的想在Java中使用它,你仍然可以用JNI包装C代码......
这是一个解释如何在 Windows 上执行此操作的博客。
我们记得,Java 允许捕获键或组合键的键盘事件,但这仅在 Java 应用程序框架或控制台此时处于活动状态时才有效,但如果用户打开或选择另一个窗口,键盘事件将无法访问我们的 Java 应用程序。每个应用程序都有自己的事件(消息)队列,除非应用程序窗口(控制台)处于活动状态,否则键盘事件将被发送到此队列中。
于 2013-07-30T10:08:10.283 回答