2

サービスとしてインストールされるbatファイルがあります。リモートボックスでサービスを実行できます。このサービスは、別のアプリケーションを起動する必要があります。起動されたアプリケーションは、表示される (フォアグラウンドで実行される) 必要があります。現在、Windows サービスがバックグラウンドで実行されているため、起動されたアプリケーションはバックグラウンドで実行されています。Windows サービス、または Windows サービスとそれが起動するアプリケーションの両方をフォアグラウンドで実行するにはどうすればよいですか? C# の ServiceController クラスでサービスを管理するつもりです。

4

2 に答える 2

1

多分読んだほうがいいと思う

http://asprosys.blogspot.com.au/2009/03/allow-service-to-interact-with-desktop.html

別のアプリを起動するだけのサービスを作成することは、実際のセキュリティ上の問題です。他のアプリが別のものに置き換えられた場合、サービスですべてのチェックを行って、アプリが自分が思っているアプリであることを確認します。

于 2012-05-17T22:56:18.983 に答える
0

適切なアプローチは、ユーザーのセッションで 2 番目のアプリケーションを起動することですが、Windows サービス アプリは常にセッション 0 で実行されます。

このアプローチは、このスレッドの下で @RaheelKhan との私の議論の一部でした。

アプリケーション マニフェストを追加して、Windows XP、Vista、および 7 で昇格された特権を確保することの信頼性はどの程度ですか?

Windows セッション、セッションの分離、およびプラットフォームの呼び出しを正しく理解する必要があります。

于 2012-05-18T02:31:55.007 に答える