回答
如果外部進程在其標準輸入中尋找Ctrl-I字符(順便說一句,與Tab相同),GreenGiant的解決方案將起作用。既然這樣做不起作用,那麼這個過程顯然是尋找其控制檯上的按鍵(tty),這是其他程序根本無法訪問的。你需要編寫本地代碼來創建一個虛擬的tty並讓這個過程使用它。 JNI是你如何讓Java調用本地代碼作爲Java程序的一部分。
對不起,但這不是我所問的。我需要以編程方式將Ctrl + I發送到Java中的其他CLI進程。 –
啊我看你剛剛更新了這個問題。 –
如果您使用ProcessBuilder
啓動其他程序,那麼您可能能夠通過發送控制序列將適當的字節寫入進程的輸入流。
我不知道實際的字節序列是什麼,你需要發送,但based on what I'm finding,好像按Ctrl + A爲1,按Ctrl + B爲2,等等
ProcessBuilder pb = new ProcessBuilder("...");
Process process = pb.start();
OutputStream stream = process.getOutputStream();
stream.write('I' - 'A' + 1); // send Ctrl+I
stream.flush();
這看起來很合理,但沒有奏效。 –
- 1. jquery模仿按鍵「ctrl +」
- 2. Ctrl-C如何終止子進程?
- 3. Flex中的終端仿真
- 4. 如何通過documents.ready函數中的javascript自動按下按鍵(ctrl + shift + i)?
- 5. 執行C程序,直至按Ctrl + C在終端
- 6. 如何在主頁按鈕被按下時終止進程?
- 7. vim中的Ctrl-W在終端
- 8. 在python中,當我在終端中按Ctrl + C時,如何防止顯示「^ C」?
- 9. 如何模仿Android中按下按鈕的行爲?
- 10. 你如何在UWP中進行模仿?
- 11. Windows的Ssh終端仿真
- 12. Docker未響應終端中的CTRL + C
- 13. 以編程方式模仿ASP.NET中DataGrid中的CTRL + A?
- 14. 在Ctrl-C上終止父進程和子進程
- 15. 如何模仿QML中的按鈕
- 16. 如何模仿按住pywin32
- 17. PHP終端仿真器
- 18. 仿真終端服務
- 19. 如何在不同的終端上運行gnome終端子進程
- 20. 模擬mac終端中的鍵盤按下
- 21. 如何在unix中從終端中分離進程?
- 22. 父進程在C#中終止時如何終止子進程
- 23. 如何在特定的PID下終止Java中的進程
- 24. 按下按鈕時,如何讓我的應用程序運行終端代碼?
- 25. 如何模仿Chrome的Ctrl + F計數器
- 26. 在GTK +應用程序中按下CTRL按鈕
- 27. 如何縮進/按Ctrl + Shift + F鍵
- 28. 什麼是Ctrl + Backspace的終端鍵碼
- 29. 如何使用mac終端將ctrl + p映射到vim sshd上的ctrl +空格
- 30. 如何模仿JavaScript的點擊按鈕?
是的。有可能的。 java鍵綁定應該做的伎倆。 – andrewdleach
@andrewdleach也許我錯過了一些東西,但我不明白這將如何幫助我編程發送Ctrl + I到遠程CLI進程。 –
對不起,我在控制檯上做了些什麼?它是否映射到中斷? – ChiefTwoPencils