4

ネイティブ C++/MFC で複雑なセットアップ/インストーラー アプリケーションを作成しています。インストールされている Java のバージョン (存在する場合) を検出できるようにしたいと考えています。

これは可能ですか?

4

4 に答える 4

3

次のコマンドを実行するプロセスを fork します: java -version. 出力を収集して解析します。次のようになります。

java version "1.5.0_16"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b06-284)
Java HotSpot(TM) Client VM (build 1.5.0_16-133, mixed mode, sharing)

これは stderr に書き込まれます。stderr 出力を収集して解析する必要があります。

于 2009-05-24T23:01:21.723 に答える
1

サブプロセスで実行java -versionし(そのプロセスの出力をパイプで読み取る)、結果を解析する(存在する場合)ことができます。または、Windows のレジストリをいじることができます (これはさらに複雑に感じますが、それほど厄介ではないかもしれません)。

于 2009-05-24T23:03:43.527 に答える