2017-02-06 3 views
0

Webアプリケーションを使用して実行中のUI(chrome、firefox、IEなどのブラウザ)を取得しようとしています。コンソールアプリケーションでWebアプリケーションからサーバー上のUIを起動する

私は(私のローカルマシン上とサーバー上の)次のコードを使用し

Process.Start(@"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"); 
Process.Start(@"C:\Program Files (x86)\Mozilla Firefox\firefox.exe"); 
Process.Start(@"C:\Program Files\Internet Explorer\iexplore.exe"); 

これは問題ありません。 3人とも問題なく起動する。

class Program 
{ 
    static void Main(string[] args) 
    { 
     Process.Start(@"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"); 
     ... 
    } 
} 

これをコントローラメソッドから試してみると、これは機能しません。

public class MyController : Controller 
{ 
    public ActionResult QuickStart() 
    { 
     Process.Start(@"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"); 
     ... 
    } 
} 

私は自分のカスタムは、実行を開始した場合、それは実行されない(私のテスト実行ファイルがディスクにファイルを書き込みます)が、それはそれが想定され、コンソールが表示されません。 )

私はこのシステムが何の文脈も持っていないので、これは何を表示しなければならないのでしょうか?だから私はすべての可能なユーザーを偽装しようとしました(偽装は現在のセッションをログインユーザーとして取得するのと同じではないため動作しません)、可能なすべてのWindowsIdentityに対してプロセスを開始しようとしました。

私はこの仕事をするために何ができるか知っていますか?

+1

いいえ、あなたが見ることができるセッションを使用することはありません..それはあなたのもののための新しいログインセッションを作成します..あなたのアプリからの呼び出しを受信するタスクトレイで実行しているアプリを持っているだろうそのセッションでものを起動してください – BugFinder

+0

私はあなたが示唆したようにこれを設定しました。これはうまくいきます。ありがとう:)あなたが実際の答えとしてこれを置くことができるようにしたい場合は、私はそれをマークとして受け入れます。 – Timon

答えて

1

アプリが他の認証情報を使用するたびに、新しいセッションが作成されます。これを回すには、小さなシストレータイプのアプリを作成して、アカウントとしてログインし、サービスからのコマンドを聞いてこのアプリケーションを実行し、必要なセッションをポップアップする必要があります仲介アプリが実行されるユーザーに表示されます。

関連する問題