2012-01-23 7 views
0

私は "Firefox、chrome、IE"などのブラウザのリストを持っているドロップダウンリストを持っています。 今私はアプリケーションを実行してドロップダウンから私のアプリケーションは、特定の選択されたブラウザで実行する必要があります誰も私がインターネット上で検索する多くの時間を費やしてこれまでに何の結果も見つかりませんでしたので、これで私を助けることができます。私はあなたのサポートのためにC#.NET を使用しています。ドロップダウンリストのブラウザを使用してアプリケーションを実行する

+0

WebアプリケーションのWindowsアプリケーションランチャー、Windowsフォームとasp.netまたは他に何が、これはされています

ここで私が書いたいくつかのサンプルコードですか? Webアプリケーションから、デフォルトのブラウザで開いた場合、またはデフォルト以外のブラウザでもユーザが手動で開いた場合は、クライアント側でchromeやfirefoxなどのプロセスを開始することはできません。機械? –

+0

質問は少し曖昧です。エンドユーザーがすべてのブラウザを持っていることをご存知ですか?もしそうでなければ、彼らには何があるのか​​分かりますか?これらのアプリケーションのファイルパスがエンドユーザーのコンピュータ上でどのようになるか知っていますか? – annonymously

答えて

0

HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternetのレジストリで、インストールされている登録済みのブラウザ(IE、Firefox、Chrome、Operaなど)が表示されます。

各ブラウザのサブキーのデフォルト値はその名前です。次にサブキーshell\open\commandの下を見て、実行可能ファイルを実行できるようにします。

private class Browser { 
     public string Name { get; set; } 
     public string Exe { get; set; } 
     public override string ToString() { 
      return Name; 
     } 
    } 

    private List<Browser> Browsers; 

    private void Form1_Load(object sender, EventArgs e) { 
     Browsers = new List<Browser>(); 
     const string browserListKey = @"SOFTWARE\Clients\StartMenuInternet"; 
     using (var clients = Registry.LocalMachine.OpenSubKey(browserListKey)) { 
      foreach (var client in clients.GetSubKeyNames()) { 
       using (var clientKey = clients.OpenSubKey(client)) { 
        string name = (string)clientKey.GetValue(string.Empty); 
        using (var commandKey = clientKey.OpenSubKey(@"shell\open\command")) { 
         string exe = (string)commandKey.GetValue(string.Empty); 
         Browsers.Add(new Browser() { Name = name, Exe = exe }); 
        } 
       } 
      } 
     } 
     comboBox1.DataSource = Browsers; 
    } 

    private void button1_Click(object sender, EventArgs e) { 
     string exe = ((Browser)comboBox1.SelectedItem).Exe; 
     Process.Start(exe); 
    } 
+0

これは私の会社の社内での使用のために開発したWindowsアプリケーションであり、エンドユーザーのことに関しては、後でテスト目的でこれを実際に使用するエンドユーザーです – user1100199

関連する問題