ページ 11

javaがインストールされているか?

Posted: 2010年4月13日(火) 15:50
by dic
アプリケーションを開発しています
そこで、一定の処理はC言語ですませて
テキストに結果を出力し
その出力結果をもとにjavaアプリケーションを起動させたいと
考えています
しかし、そのパソコンにjavaがインストールされているか
不明な状態なので、C言語にてjavaがインストール
されているかチェックする方法はないでしょうか?

また、インストールされていない場合
javaをインストールするようにする処理は
どうやって実現できるのでしょうか?

java系の質問掲示板で聞こうかとしたんですが
処理はC/C++なのでここで聞こうかと思いました

Re:javaがインストールされているか?

Posted: 2010年4月13日(火) 15:57
by ookami
java -version コマンドで応答があるかどうか確認するか、

環境変数 JAVA_HOME をチェックしてみるのはどうでしょう。
http://oshiete1.goo.ne.jp/qa3275123.html

javaがインストールされていれば JAVA_HOME に何かしらの値がセットされているはず。

Re:javaがインストールされているか?

Posted: 2010年4月13日(火) 16:34
by dic
アプリケーションといってもユーザー側がプログラムやパソコンの知識をまったく持たない
状態ですので
「java -version で確認してください」って言っても無理だと思いますすいません

私のパソコンにはjavaが入ってますが JAVA_HOME は環境変数にないですね
OSはXPです

Re:javaがインストールされているか?

Posted: 2010年4月13日(火) 16:43
by ookami
すいませんw 説明不足でしたね。こんな感じでいかがでしょうか。

char* command="java -version";

const int BUFSIZE=1024*2;
char buf[BUFSIZE];

int i;
FILE *fp;
*buf=0;
fp=_popen(command,"r");
for(i=0;i<=BUFSIZE-2;i++){
int c;
if((c=fgetc(fp))==EOF) break;
buf=c;
}
buf=0;
_pclose(fp);

printf(buf);

Re:javaがインストールされているか?

Posted: 2010年4月13日(火) 16:55
by lbfuvab
環境変数PATH調べて何とかなりませんか?

Re:javaがインストールされているか?

Posted: 2010年4月13日(火) 16:56
by dic
なるほど、そういうやり方ですね
ありがとうございました

Re:javaがインストールされているか?

Posted: 2010年4月13日(火) 16:57
by ookami
追記すいません。JDKならJAVA_HOME、JREならJRE_HOMEかも。