2010-06-17 76 views
1

有什麼辦法從Java啓動非Java進程然後停止它?或者至少發送一些keyinput給它(例如alt + f4)?java:停止子進程

E.g.我啓動java應用程序,然後javaapp啓動記事本,然後javaapp發送alt + f4到記事本。 Javaapp將從管理員帳戶運行。

問題只是關於Windows操作系統。

+0

任何獲得Java應用程序啓動之前啓動的Process對象的方法? 例如我開始記事本,然後我開始Java應用程序,和Java應用程序獲取運行記事本的進程對象。 – 2010-06-17 08:57:08

回答

1

編輯:有關啓動錯過的問題...

創建,使用Runtime.getRuntime().exec()

要銷燬,使用:Process.destroy() 根據JavaDoc:

殺死子進程。由此Process對象表示的子進程被強制終止。

+0

thx答案,這正是我需要 – 2010-06-17 09:12:29

+0

沒問題。我無法找到您的評論/附錄的答案。 – 2010-06-17 09:24:25

1

您可以使用Runtime.exec()開始一個新流程。然後用Process.getOutputStream()獲得返回進程的標準輸入,並將輸入推送給它。最後你可以destroy()吧。

請注意,您必須使用流程中的所有輸出才能使其正常運行。