• ベストアンサー

Javaで他のソフトを制御したいのですが。

 Javaで他のソフトを制御したいのですが、どうしたらよいでしょうか?C#では、他のアプリケーションを起動Process.Start()メソッドってあるのですが、Javaにもそのようなクラスはありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • hidebu-
  • ベストアンサー率53% (45/84)
回答No.2

とりあえず java.lang.Runtime でプロセスの起動はできます。 ただ、ネイティブではないので、プロセスに対してフックをかけたり、メッセージやシグナルを送ったりすることは不可能です。 細かい制御をしようとおもえばJNIインターフェースを使用してネイティブメソッドを作成していかないと無理です。

yasunori1984
質問者

お礼

迅速な回答ありがとうございます。JNIインターフェースについて調べてみようと思います。

yasunori1984
質問者

補足

メモ帳やメッセンジャーは起動するプログラムはできたのですが、いくつか起動できないアプリがあります。これらのアプリはどうしたら起動できるようになりますか?JNIを用いてDLLを作れば可能となりますか?

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • hidebu-
  • ベストアンサー率53% (45/84)
回答No.3

DLLやSOを使用すれば起動できないことはありません。 ただ Runtime#exec();でもそうですが メモ帳やメッセンジャーは環境変数のPATHがとおっているために実行ファイル名を指定してやるだけで起動できますが、環境変数にパスが通ってない場合はフルパスで実行ファイルを指定してやらないといけません。 これはWinApi等のCreateProcessでも同じです。

すると、全ての回答が全文表示されます。
  • uzzra
  • ベストアンサー率43% (55/127)
回答No.1

Runtime.exec() でよろしいのではないでしょうか。 詳しくは以下URLをどうぞ。

参考URL:
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/lang/Runtime.html
yasunori1984
質問者

お礼

迅速な回答ありがとうございます。参考URLを調べてみます。

すると、全ての回答が全文表示されます。

関連するQ&A