Wie ändere ich den Standardbrowser in ein benutzerdefiniertes Programm / Skript (http-Zuordnung) in Windows 8.1?

1

Wie ändere ich den Standardbrowser in Windows 8.1 in ein benutzerdefiniertes Programm oder Skript?

Ich möchte die Zuordnung des http-Protokolls zu einem AutoHotKey-Script (AHK) ändern, das anhand der URL den richtigen Browser öffnet.

In Windows 7 haben einige Registrierungsänderungen geholfen, wie hier beschrieben: Wie ändere ich meinen Standardbrowser in ein nicht aufgeführtes Programm in Windows 7?

In Windows 8.1 ist der Registrierungsschlüssel für das File-Assoc noch vorhanden ...

[HKEY_CLASSES_ROOT\http\shell\open\command]
@="\"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe\" -osint -url \"%1\""

... wird jedoch von dieser "UserChoice" -Einstellung überschrieben

[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice]
"ProgId"="FirefoxURL"
"Hash"="...."

Wenn ich den oben genannten Eintrag entferne, wird der Dialog "Wie möchten Sie diese Art von Link (http) öffnen?" Wie kann ich also auf mein AHK-Script oder ein anderes nicht gelistetes Programm verweisen?

Die direkte Bearbeitung der Werte im UserChoice-Key wird nicht wirksam (Dialog zur Auswahl des Browsers wird erneut geöffnet). Ich nehme an, das liegt am "Hash", der diese Einträge sichert.

Gibt es eine Möglichkeit zum Bearbeiten der Vanille-Registrierung?

Fossi
quelle

Antworten:

2

Nach vielem Ausprobieren habe ich endlich eine Lösung gefunden, die für mich funktioniert. Wer also über diese Frage stolpert, findet das vielleicht nützlich.

Um Ihr eigenes Skript im Tool zum Festlegen von Programmzugriff und Computer-Standardeinstellungen (SPAD) verfügbar zu machen, muss es in drei Abschnitten der Registrierung registriert werden.

  1. HKEY_CLASSES_ROOT
  2. RegisteredApplications
  3. StartMenuInternet

(Vollständiger Pfad siehe Beispiel unten)

  • In HKEY_CLASSES_ROOT müssen Sie den auszuführenden Befehl angeben. Ich habe ihn im folgenden Beispiel yourCustomScriptURL genannt .
  • RegisteredApplications teilt Windows mit, dass Ihr Skript vorhanden ist, und verweist auf den dritten Registrierungsabschnitt.
  • StartMenuInternet , der dritte und letzte Abschnitt, den Sie hinzufügen müssen, teilt Windows mit, dass Ihr Skript das http- und https-Protokoll verarbeiten kann, und verweist auf den Eintrag HKEY_CLASSES_ROOT.

Microsoft hat die erforderlichen Schritte unter https://msdn.microsoft.com/en-us/library/windows/desktop/cc144154%28v=vs.85%29.aspx dokumentiert .

Und wenn Sie alles zusammenfügen, sieht es so aus.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\yourCustomScriptURL]
@="yourCustomScript"
"FriendlyTypeName"="yourCustomScript"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\yourCustomScriptURL\shell]
@="open"

[HKEY_CLASSES_ROOT\yourCustomScriptURL\shell\open\command]
@="\"<...path to AHK...>\\AutoHotkey.exe\" \"<...path to script...>\\yourCustomScript.ahk\" \"%1\""

[HKEY_CURRENT_USER\Software\RegisteredApplications]
"yourCustomScript"="Software\\Clients\\StartMenuInternet\\yourCustomScript\\Capabilities"

[HKEY_CURRENT_USER\Software\Clients\StartMenuInternet\yourCustomScript]
@="yourCustomScript"

[HKEY_CURRENT_USER\Software\Clients\StartMenuInternet\yourCustomScript\Capabilities\StartMenu]
"StartMenuInternet"="yourCustomScript"

[HKEY_CURRENT_USER\Software\Clients\StartMenuInternet\yourCustomScript\Capabilities\URLAssociations]
"http"="yourCustomScriptURL"
"https"="yourCustomScriptURL"
Fossi
quelle
Leider funktioniert dies unter Windows 10 nicht. Der von Ihnen erwähnte Link sagt das auch aus, aber der von MS bereitgestellte Link enthält keine technischen Details. Der Fehler, den ich erhalte, ist: Something unexpected went wrong with this URL: "<the URL>", <the URL again> is not a valid Win32 application. Dies geschieht auch dann, wenn ich% 1 nicht als Argument in die Befehlszeichenfolge einfüge.
Chewi