2

VisualWebGUI (基本的に Web 上の winforms) アプリケーションから WPF .exe を起動しようとしています。VS2010で実行すると、すべて正常に動作します。ただし、サイトを IIS に展開すると、.exe が起動されます (ログ ファイルに書き出すことができます) が、WPF アプリの GUI は表示されません。タスク マネージャーでもプロセスが実行されていることがわかります。非常に単純なもので、引数を 1 つ渡すだけです。

Process p = new Process();
p.StartInfo.FileName = Security.ExePath
p.StartInfo.Arguments = ID
p.Start();

さまざまな startinfo パラメータをいじってみましたが、役に立ちませんでした。何か不足していますか?

4

2 に答える 2

0

プロセスが現在の Windows ログオン セッションと同じ UI にアクセスできるようにするには、プロセスに適切なウィンドウ ステーションを指定する必要があります。

http://support.microsoft.com/kb/165194を見て 、Windows API について読んでください。 =vs.85).aspx

補足として、ワーカー プロセスから GUI を起動することは、非常に悪い考えです。IIS を使用するときは、サーバー画面を見ている人がいないことを第一に想定する必要があります。

ユーザーがログオンしたときに GUI アプリケーション (または軽量のスタブ) を自動的に起動し、バックグラウンド プロセスからのシグナルをリッスンする方がよいでしょう。

于 2013-11-11T16:34:37.340 に答える
0

これは、アプリケーションが AppPool ID (例: ApplicationPoolIdentity) の下で開始されるためである可能性があります。AppPool の [詳細設定] の下にある ID を、ログインしてアプリケーションを表示する必要があるユーザーに設定してみてください。

于 2013-11-11T16:27:13.087 に答える