- PR -

javaから外部アプリの起動

投稿者投稿内容
まきお
会議室デビュー日: 2004/03/27
投稿数: 11
お住まい・勤務地: Japan
投稿日時: 2005-02-17 22:21
javaから外部アプリの起動として
Process p = Runtime.getRuntime().exec("C:\\WINDOWS\\notepad.exe");
で起動を試しているのですが、

マシンAでは起動でき、notepadがひらきます。
マシンBでは、タスクマネージャーにはnotepad.exeが起動するのですが
画面が開きません。
回避方法などありましたら教えていただけますでしょうか。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-02-17 22:30
環境がわからないと何ともいえませんが、
起動しているデスクトップと別ユーザで動いていないでしょうか。
まきお
会議室デビュー日: 2004/03/27
投稿数: 11
お住まい・勤務地: Japan
投稿日時: 2005-02-18 00:54
環境ですが、osはwinXPのproで
管理者権限をもっているユーザでログインしております。

また、調査していて、気づいたことがあります。
Tomcatはwindows版のzipを解凍して使っているのですが、
Tomcatをサービス化すると、外部アプリを起動できない(タスクには現れる)ようです。
Tomcatをbinの下のstartup.batで起動すると
外部アプリを起動できるようです。
なぜサービス化するだけで起動できないかが解明できない状態です。
Cluster
ぬし
会議室デビュー日: 2003/03/06
投稿数: 289
お住まい・勤務地: 大阪
投稿日時: 2005-02-18 01:23
引用:

まきおさんの書き込み (2005-02-18 00:54) より:

Tomcatをサービス化すると、外部アプリを起動できない(タスクには現れる)ようです。
Tomcatをbinの下のstartup.batで起動すると
外部アプリを起動できるようです。
なぜサービス化するだけで起動できないかが解明できない状態です。



これって、全く通常の動作だと思うのですが・・・。
サービス化すると、そのサービスにとってのデスクトップと、今ログオンしているユーザーのデスクトップとは別物になりますから。
まきお
会議室デビュー日: 2004/03/27
投稿数: 11
お住まい・勤務地: Japan
投稿日時: 2005-02-18 01:42
返信ありがとうございます。

起動しているデスクトップとサービスのデスクトップが異なるのが原因
という事ですが、解決策としては

サービスで起動した場合のデスクトップユーザは
Administratorになるので、Administratorでログインすれば
サービスのデスクトップと一致し起動できるということでしょうか?
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-02-18 08:32
まず試してみてはいかがでしょう?
うまくいかないようでしたら再度調べて、わからなければ再度質問を、わかれば解決手順を投稿する、というのがスムースです。
#サービスのプロパティを確認することをお勧めします
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-02-18 08:59
サービスは通常、特に設定していない場合
[SYSTEM]というアカウントで起動します。
[administrator]とは違います。
まきお
会議室デビュー日: 2004/03/27
投稿数: 11
お住まい・勤務地: Japan
投稿日時: 2005-02-19 00:33
返信ありがとうございます。
上記方法で確認してみます。

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