Использование списка браузеров из выпадающего списка для запуска приложения - PullRequest
0 голосов
/ 23 января 2012

У меня есть выпадающий список, в котором у меня есть список браузеров, таких как «Firefox, chrome, IE». Теперь я хочу, чтобы при запуске приложения и выборе в раскрывающемся списке браузера мое приложение должно было работать в этомОпределенно выбранный браузер, может ли кто-нибудь помочь мне в этом, так как я потратил много времени на поиск в Интернете и пока не нашел никакого результата.я использую c # .NET спасибо за вашу поддержку.

1 Ответ

0 голосов
/ 23 января 2012

Вы можете заглянуть в реестр под 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);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...