回答
如果外部進程在其標準輸入中尋找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. 按Ctrl-I Visual Studio 2010中
- 4. 在MATLAB的終端仿真模式下打印透明圖形
- 5. Flex中的終端仿真
- 6. 如何通過documents.ready函數中的javascript自動按下按鍵(ctrl + shift + i)?
- 7. 執行C程序,直至按Ctrl + C在終端
- 8. vim中的Ctrl-W在終端
- 9. 如何在主頁按鈕被按下時終止進程?
- 10. 在python中,當我在終端中按Ctrl + C時,如何防止顯示「^ C」?
- 11. 在Windows中的Javascript終端仿真
- 12. 如何模仿Android中按下按鈕的行爲?
- 13. 如何通過COM或JavaScript在WebBrowser控件中模仿CTRL + A,CTRL + C?
- 14. 你如何在UWP中進行模仿?
- 15. 如何模仿grafana後端?
- 16. Windows的Ssh終端仿真
- 17. 以編程方式模仿ASP.NET中DataGrid中的CTRL + A?
- 18. Docker未響應終端中的CTRL + C
- 19. 在Ctrl-C上終止父進程和子進程
- 20. 如何模仿QML中的按鈕
- 21. 如何模仿按住pywin32
- 22. 模擬按住Ctrl鍵同時按下
- 23. 如何在不殺死xxxxx進程的情況下關閉xxxxx.exe終端窗口?
- 24. PHP終端仿真器
- 25. 啓用PyCharm終端仿真
- 26. 仿真終端服務
- 27. Java終端仿真器
- 28. UITableView,單擊,模仿按鈕按下
- 29. 如何在不同的終端上運行gnome終端子進程
- 30. 如何在C#中模擬ANSI終端?
是的。有可能的。 java鍵綁定應該做的伎倆。 – andrewdleach
@andrewdleach也許我錯過了一些東西,但我不明白這將如何幫助我編程發送Ctrl + I到遠程CLI進程。 –
對不起,我在控制檯上做了些什麼?它是否映射到中斷? – ChiefTwoPencils