2013-05-23 10 views
6

Wir alle konnten dies leicht vor Windows 8 (in XP/VISTA/WIN7) mit wenigen Änderungen in der Registrierung tun und es wurde getan.Wie setze ich Standard-Browser in Windows 8 mit C#?

Mit Windows 8 ist es nicht so einfach (ich muss es noch herausfinden, wie). Auch Windows 8 hat einige wenige unten zu ändernde Registrierungseinstellungen, aber gleichzeitig speichert es auch einen eindeutigen Hash für jeden Computer. Kann mir irgendein Körper helfen, diesen Hash für jeden Computer zu erstellen oder mit einer von Microsoft bereitgestellten API, um den Standard-Browser zu setzen ('SetAppAsDefaultAll' funktioniert nicht). Im Folgenden sind die Registrierungseinträge.

Computer \ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ Currentversion \ Explorer \ FileExts.htm \ UserChoice Progid: IE.AssocFile.HTM Hash: XXXXXXXXXXX

Computer \ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ Currentversion \ Explorer \ FileExts.html \ UserChoice Progid: IE.AssocFile.HTM Hash: XXXXXXXXXXX

Computer \ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ Currentversion \ Explorer \ FileExts.xht \ UserChoice Progid: IE.AssocFile. XHT Hash: XXXXXXXXXXX

Computer \ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ Currentversion \ Explorer \ FileExts.xhtml \ UserChoice Progid: IE.AssocFile.XHT Hash:

Computer \ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ Shell \ Verbände \ UrlAssociations \ ftp \ UserChoice Progid: IE.FTP Hash: XXXXXXXXXXX

Computer \ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ Shell \ Verbände \ UrlAssociations \ http \ UserChoice Progid: IE.HTTP Hash: XXXXXXXXXXX

Computer \ HKEY_CURRENT_USER \ Software \ Mi crosoft \ Windows \ Shell \ Verbände \ UrlAssociations \ https \ UserChoice Progid: IE.HTTPS Hash: XXXXXXXXXXX

Vielen Dank im Voraus.

+1

stimme zu, in win7 oder früher, das ist keine große Sache. Besorgt zu wissen, wie auch. – David

+0

Vielleicht hilft dies http://superuser.com/questions/498467/why-is-my-default-browser-setting-sing-ignored – V4Vendetta

Antwort

5

Für alle, die darauf warten, auf diese Frage zu antworten.

Hier geht es, sieht so aus, als wäre es durch DISM.exe von Win 8 zur Verfügung gestellt. Ihr Benutzer sollte jedoch Admin der Maschine sein.

Mit C# -Code sollten Sie in der Lage sein, diese DISM.exe mit bestimmten Parametern auszuführen.

Folgende Blog hat die Details.

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

Dank.

+0

Ich bin froh, dass Sie eine Lösung gefunden haben. Es ist sinnvoll, dass der Benutzer in der Lage sein sollte, den Prozess zu automatisieren - der entscheidende Punkt ist, dass Anwendungen die Vorlieben des Benutzers nicht überschreiben sollen, um die Administration nicht zu erschweren. –

+0

Natürlich ist die vom Administrator verwendete Verwaltungsmethode ein besseres Thema für SuperUser oder ServerFault. In StackOverflow beschäftigen wir uns mit Code, nicht mit Gruppenrichtlinien. –

+1

zustimmen Ben. Aber nur für diejenigen, die versuchen, es per Code zu tun und nicht gelingen. Dies könnte ihnen sagen, dass das nicht möglich ist. –

0

Ich glaube der Grund ist, dass der Benutzer, nicht Ihre Software, diese Einstellung steuern kann.

Sie sollten das Popup „Ihr Computer neue Anwendungen für Web-Browsing hat“ auslösen zu können, jedoch so, dass der Benutzer leicht Ihr Programm wählen können, wenn sie wollen.

+0

gut macht Sinn, was Sie sagen. Aber Google ist in der Lage, es über Chrome zu tun :) so auch ich sollte dazu in der Lage sein :) Google Chrome setzt die gleichen Registrierungseinstellungen einschließlich Hash. –

+0

Nach der Installation von Google Chrome werde ich gefragt, welchen Browser ich verwenden möchte. Es wird nicht ohne meine Intervention geändert. –

+0

habe es gerade überprüft. ja, du hast recht. Lassen Sie mich bestätigen, wenn es keine andere Anwendung gibt, die es tut, ohne den Benutzer zu fragen. Wenn ich keine finden kann, werde ich Ihre Antwort korrekt markieren. –

0

Ich habe auch danach gefragt und es geschafft, eine Lösung zu finden, das könnte eine Hilfe für Sie sein, da ich dies auf Windows 8 getestet habe.1 und es hat funktioniert: How to set the default browser on Windows 7 using c#?

Das passt eigentlich zu einem Fall, wo Sie jedes Programm als Standard seiner Protokolle und Dateierweiterungen machen wollen.

Verwandte Themen