當記事本中的文本通過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