当记事本中的文本通过Ctrl + C复制时,我想自动将内容放入textArea。我想知道如何听记事本的钥匙。是否有可能听记事本或任何其他程序的钥匙?Keylistener从另一个程序的Ctrl + C
1
A
回答
2
这是在其他的答案和评论中引用的剪贴板听众的一个JavaFX版本:
import javafx.animation.AnimationTimer;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TextArea;
import javafx.scene.input.Clipboard;
import javafx.stage.Stage;
public class SystemClipboardWatcher extends Application {
@Override
public void start(Stage primaryStage) {
TextArea clipboardView = new TextArea();
AnimationTimer timer = new AnimationTimer() {
Clipboard systemClipboard = Clipboard.getSystemClipboard();
@Override
public void handle(long timestamp) {
String content = systemClipboard.getString();
// do anything you need with this, e.g.:
clipboardView.setText(content);
}
};
timer.start();
primaryStage.setScene(new Scene(clipboardView, 600, 600));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
0
不,不可能在java中获得所有应用程序的所有keyevent。
所以你有2个可能的解决方案。
您只能通过剪贴板侦听器获取剪贴板的更改。 SO example
使用JNA,JNI,jintellitype,...的听系统的KeyEvents SO example
0
这是可能的,但一个非常糟糕的编码实践。如果你仍然想这样做:https://github.com/kwhat/jnativehook。
一种更好的方法是观察剪贴板中的变化。
相关问题
- 1. 如果通过system()或CreateProcess()从另一个启动另一个程序,如何防止Ctrl + Break/Ctrl + C关闭这两个程序?
- 2. JComponent for Ctrl键上的KeyListener
- 3. 如何从另一个c程序启动c程序
- 4. 从一个程序的一部分到另一个的C++
- 5. 从gcc中的另一个程序执行C程序
- 6. C Linux的 - 如何从另一个程序执行程序
- 7. 获取从一个程序到另一个程序的变量
- 8. mysql调用另一个程序(另一个模式)从程序
- 9. 从另一个程序
- 10. 从C#安装程序安装程序运行另一个MSI
- 11. 如何从C++程序运行另一个程序
- 12. 从另一个程序执行程序C
- 13. c#从另一个应用程序运行我的c#DLL
- 14. 从另一个C#应用程序调用C#应用程序的方法
- 15. C Pipe到另一个程序的STDIN
- 16. 运行另一个C++程序的C++程序
- 17. 的KeyListener搞乱了程序
- 18. Java小程序的KeyListener
- 19. 启动Excel并从另一个程序
- 20. 从C++中的另一个进程解锁一个线程
- 21. 创建另一个程序的程序
- 22. 如何从另一个程序启动一个程序
- 23. 从另一个程序创建一个程序?
- 24. 从另一个程序中打开一个应用程序
- 25. 指数从一个程序在另一个程序
- 26. 将值从一个Python程序传递到另一个程序
- 27. C++从另一个值排序数组
- 28. c#键入另一个应用程序
- 29. 用C++执行另一个程序
- 30. 从C++中的另一个程序重定向stdout
收听到剪贴板来代替。 http://stackoverflow.com/q/14226064/2855515 – brian
全球可以听到“Ctrl + C”。它被称为键盘记录器,它绝对没有你想在你的Java应用程序中实现的东西。正如@brian已经指出的,更好的方法是听取系统剪贴板。 – Paul