- PR -

他のアプリの起動について

1
投稿者投稿内容
104
会議室デビュー日: 2004/01/21
投稿数: 17
投稿日時: 2004-01-27 10:13
こんにちわ
104と申します。

javaから他のアプリケーションを起動することってできるのでしょうか?
例えばえくせるを起動するとか。
その際にそのアプリケーションに初期情報を渡したいのですが、
そのアプリケーションが起動した直後に通信を行ってやりとりしたり
というのが一般的なのでしょうか?

誰かご存知の方いらっしゃいましたら、ご教授お願いします。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2004-01-27 10:17
引用:

104さんの書き込み (2004-01-27 10:13) より:
こんにちわ
104と申します。

javaから他のアプリケーションを起動することってできるのでしょうか?
例えばえくせるを起動するとか。
その際にそのアプリケーションに初期情報を渡したいのですが、
そのアプリケーションが起動した直後に通信を行ってやりとりしたり
というのが一般的なのでしょうか?

誰かご存知の方いらっしゃいましたら、ご教授お願いします。


 java.lang.Runtimeクラスを使用すれば、
他のアプリケーションをJavaから起動することは可能です。
このとき、パラメーターを渡すこともできますが、
それを受け取れるかどうかは、
アプリケーション側の作りに依存します。
シュン
ぬし
会議室デビュー日: 2004/01/06
投稿数: 328
お住まい・勤務地: 東京都
投稿日時: 2004-01-27 10:48
java.lang.Runtimeによって生成したプロセスとの通信は、ソケットによる通信
経路等を独自に作成しない限り、標準入出力を介したものに限られます。

.dllや.so等プラットフォーム依存のダイナミックリンクライブラリ上の関数等を
叩きたい場合は、JNIというインターフェイス仕様に則って、ラッパーとなるクラ
スを自作する必要があります。(ラッパーの作成ツールは、JDKのツールの一部に
あります。)

OLEを叩きに行きたい場合、最近ですとeclipse.orgのSWTというGUIライブラリが
(なぜか?)OLEラッパーをAPIに持っていますので、それを使うという方法があり
ます。
MS Excelアプリケーションのプロセスとやり取りがしたい場合、SWTを使うのが一
番手軽かもしれません。

Apache JakartaプロジェクトのPOIサブプロジェクトという、OLE複合フォーマ
ットファイルをOLEを使用せず独力で読み書きするプロジェクトがありまして、
簡単なEXCELファイルならある程度読み書きできるようです。
ですが、非公開のOLEフォーマット仕様相手に苦戦を強いられているようです。

MS Officeは、2003バージョンでデータ交換用のフォーマットとして使用するXML
形式フォーマットのスキーマ定義を無償公開する方針にするようなので、これを
使用する手もあります。
104
会議室デビュー日: 2004/01/21
投稿数: 17
投稿日時: 2004-01-27 11:23
たくさん、しゅんさん

ご返答ありがとうございます。
早速、試してみたいと思います。
おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2004-01-27 17:05
引用:

MS Officeは、2003バージョンでデータ交換用のフォーマットとして使用するXML
形式フォーマットのスキーマ定義を無償公開する方針にするようなので、これを
使用する手もあります。


Office XPに含まれるExcel 2002でも、「XMLスプレッドシート形式」なる形式で
XMLのデータを入出力できるようです。文字の修飾(フォント、色、太字等)部分を
考えなければ、ある特定のセルを読み書きする行為はそれほど難しくなさそうです。
1

スキルアップ/キャリアアップ(JOB@IT)