Как проверить наличие установленных браузеров с помощью С# для новичков

Я создаю приложение и его простой, все, что я хочу, это показать информацию os на простом английском языке и архитектуру, а также проверить установленные браузеры, а затем я добавлю возможность удалять файлы cookie а что нет.

То, что я застрял, является частью обнаружения браузера. Может ли кто-нибудь указать мне некоторые приличные уроки или как сделать? Спасибо.

Изменить: OK Мне удалось, наконец, вычеркнуть какой-то рабочий код, используя фрагмент, предоставленный hcb ниже, и комментарии от других (спасибо всем). Пока это делает именно то, что я хочу, поэтому я думал, что я делюсь тем, что у меня есть, для тех, кто пытается сделать то же самое:

RegistryKey browserKeys;

        browserKeys = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\WOW6432Node\Clients\StartMenuInternet");

        if (browserKeys == null)
        {
            browserKeys = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Clients\StartMenuInternet");
        }

        string[] browserNames = browserKeys.GetSubKeyNames();

        foreach (string browser in browserNames)
        {
            using (RegistryKey tempKey = browserKeys.OpenSubKey(browser))
            {
                foreach (string keyName in tempKey.GetValueNames())
                {
                    if (tempKey.GetValue(keyName).ToString() == "Internet Explorer")
                    {
                        internetExplorerButton.Enabled = true;
                        internetExplorerButton.BackgroundImage = Properties.Resources.iExplorer;

                        if (internetExplorerButton.Enabled == true)
                        {
                            Label ieLabel = new Label();
                            ieLabel.Text = "Found!";
                            explorerLable.Text = ieLabel.Text;
                        }
                    }

К моему крайнему раздражению, я заметил, что Google хочет установить свой браузер в Local App Data. Мне удалось разобраться с написанием кода снова и проверить:

Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Google\Update\Clients");

Edit2: Проверка CurrentUser для Chrome, похоже, отлично подходит для нескольких друзей, поэтому все должно быть в порядке.

Ответ 1

Вот так:

RegistryKey browserKeys;
//on 64bit the browsers are in a different location
browserKeys =   Registry.LocalMachine.OpenSubKey(@"SOFTWARE\WOW6432Node\Clients\StartMenuInternet");
if (browserKeys == null)
    browserKeys = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Clients\StartMenuInternet");

string[] browserNames = browserKeys.GetSubKeyNames();