2012-05-09 4 views
0

Runtime.getRuntime()。exec()を使用してnotepad.exeを開くjavaアプリケーションがあります。Windowsサービスによって起動されるJavaアプリケーションから新しいプロセスを開きます。

そして、このアプリケーションをWindowsサービスとして実行したいと考えています。だから私はC#を使用してWindowsサービスを作成しました。

「installutil」コマンドを使用して正常にサービスをインストールできました。

しかし、私のJavaアプリケーションはWindowsサービスによって正常に起動しましたが、notepad.exeは開かれません。

サービスがSYSTEMプロセスとして実行されているが、現在のログインユーザーではないという問題があると思っていました。そこで、installutilコマンドでユーザーの資格情報を与えて、現在のユーザーの下にサービスをインストールしました。

サービスとJavaアプリケーションが現在のユーザーの下で正しく起動され、notepad.exeも同じユーザーの下に作成されています。しかし、メモ帳は表示されません。

ここで何が起こったのか教えてください。

おかげ

答えて

0

それは別のコンテキストで開始されているように聞こえます。

サービスオプションでは、[ローカルシステムアカウント]ラジオボタンをオンにし、[サービスとデスクトップとの対話を許可する]チェックボックスをオンにします。

+0

提案していただきありがとうございます。しかし、それはcmdプロンプトで私のJavaアプリケーションを表示します。 – Kelum

+0

それはどういう意味ですか? – animaonline

+0

「対話型サービス検出」メッセージボックスが表示され、「このコンピュータで実行されているプログラミングがメッセージを表示しようとしている」と表示メッセージをクリックすると、Javaアプリケーションがコンソールに表示されます。 – Kelum

関連する問題