2013-05-23 16 views
6

Wszyscy byliśmy z łatwością w stanie to zrobić przed Windows 8 (w XP/VISTA/WIN7) z kilkoma zmianami w rejestrze i to się stało.Jak ustawić domyślną przeglądarkę w Windows 8 przy użyciu C#?

W systemie Windows 8 nie jest to takie proste (nie mam pojęcia, jak to zrobić). System Windows 8 również ma kilka ustawień rejestru do zmiany wymienionych poniżej, ale wraz z tym także przechowuje unikalny skrót dla każdego komputera. Czy dowolna jednostka może mi pomóc w stworzeniu tego skrótu dla każdego komputera lub przy pomocy jakiegoś API udostępnionego przez firmę Microsoft w celu ustawienia domyślnej przeglądarki ("SetAppAsDefaultAll" nie działa). Poniżej znajdują się wpisy rejestru.

komputera \ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.htm \ UserChoice identyfikator_programu: IE.AssocFile.HTM Hash: XXXXXXXXXXX

komputera \ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.html \ UserChoice identyfikator_programu: IE.AssocFile.HTM Hash: XXXXXXXXXXX

komputera \ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.xht \ UserChoice identyfikator_programu: IE.AssocFile. XHT Hash: XXXXXXXXXXX

komputera \ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.xhtml \ UserChoice identyfikator_programu: IE.AssocFile.XHT Hash:

komputera \ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ Shell \ stowarzyszenia \ UrlAssociations \ ftp \ UserChoice identyfikator_programu: IE.FTP Hash: XXXXXXXXXXX

komputera \ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ Shell \ stowarzyszenia \ UrlAssociations \ http \ UserChoice identyfikator_programu: IE.HTTP Hash: XXXXXXXXXXX

Komputer \ HKEY_CURRENT_USER \ Software \ Mi crosoft \ Windows \ Shell \ stowarzyszenia \ UrlAssociations \ https \ UserChoice identyfikator_programu: IE.HTTPS Hash: XXXXXXXXXXX

Z góry serdecznie dziękujemy.

+1

Zgadzam się, w win7 lub wcześniej, to nie jest wielka sprawa. Pragnąc wiedzieć, jak również. – David

+0

Może to pomaga http://superuser.com/questions/498467/why-is-my-default-browser-setting-being-ignored – V4Vendetta

Odpowiedz

5

Dla wszystkich oczekujących na odpowiedź na to pytanie.

Tutaj idziesz, wygląda na to, że jednym ze sposobów jest DISM.exe dostarczony przez Win 8. Twój użytkownik powinien jednak być administratorem maszyny.

Przy użyciu kodu C# powinieneś być w stanie uruchomić ten plik DISM.exe z określonymi parametrami.

Poniższy blog zawiera szczegóły.

http://blogs.technet.com/b/mrmlcgn/archive/2013/02/26/windows-8-associate-a-file-type-or-protocol-with-a-specific-app-using-a-gpo-e-g-default-mail-client-for-mailto-protocol.aspx

Dzięki.

+0

Cieszę się, że znalazłeś rozwiązanie. Ma to sens, że użytkownik powinien być w stanie zautomatyzować proces - chodzi o to, aby powstrzymać aplikacje przed przesłonięciem preferencji użytkownika, aby nie utrudniać administracji. –

+0

Oczywiście metoda zarządzania używana przez administratora jest lepszym tematem dla SuperUser lub ServerFault. W StackOverflow mamy do czynienia z kodem, a nie z zasadami grupowymi. –

+1

Zgadzam się Ben. Ale tylko dla tych, którzy próbują zrobić to za pomocą kodu i nie odnoszą sukcesu. To może im powiedzieć, że nie jest to możliwe w ten sposób. –

0

Uważam, że powodem jest to, że użytkownik, a nie oprogramowanie, kontroluje to ustawienie.

Powinieneś być w stanie uruchomić okno "Twój komputer ma nowe aplikacje do przeglądania sieci", aby użytkownik mógł z łatwością wybrać program, jeśli chce.

+0

dobrze ma sens, co mówisz. Ale Google potrafi to zrobić poprzez chrome :) więc nawet powinienem być w stanie :) Chrome Google ustawia te same ustawienia rejestru, w tym Hash. –

+0

Po zainstalowaniu przeglądarki Google Chrome pojawia się monit, którą przeglądarkę chcę użyć. Nie zmienia się bez mojej interwencji. –

+0

właśnie to sprawdziłem. tak masz rację. Pozwól mi potwierdzić, jeśli nie ma innej aplikacji, która robi to bez pytania użytkownika. Jeśli nie będę w stanie znaleźć żadnej, zaznaczę twoją odpowiedź poprawnie. –

0

Zapytałem również o to i udało mi się znaleźć rozwiązanie, może to być pomocne, ponieważ testowałem to na Windows 8.1 i zadziałało: How to set the default browser on Windows 7 using c#?

To faktycznie pasuje do przypadku, w którym chcesz ustawić dowolny program jako domyślny jego protokoły i rozszerzenia plików.

Powiązane problemy