0

Runtime.getRuntime()。exec()を使用してnotepad.exeを開くJavaアプリケーションがあります。

そして、このアプリケーションをWindowsサービスとして実行したいと思います。そこで、C#を使用してWindowsサービスを作成しました。

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

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

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

次に、サービスとJavaアプリケーションが現在のユーザーの下で適切に開始され、同じユーザーの下でnotepad.exeも作成されていることがわかりました。ただし、メモ帳は表示されません。

誰かがここで起こったことを教えてもらえますか?

ありがとう

4

1 に答える 1

0

別のコンテキストで開始されているようです。

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

于 2012-05-09T12:42:18.387 に答える