Edit: Ergänzung (Danke an BigRox für den Hinweis.)
Gesucht sind Informationen dazu, wie man die Dateitypen ".au3" und ".ppr" registriert, sodass diese Dateien bei Doppelklick mit PSPad geöffnet werden. NICHT gesucht ist das Registrieren für das "Öffnen mit" Kontextmenü des Windows Explorers.
Edit Ende
In PSPad4AutoIt3 soll dem User in den Einstellungen des Improvement Kits eine Möglichkeit gegeben werden, AU3 und PPR (PSPad-Project) Dateien für PSPad zu registrieren. In den PSPad-eigenen Einstellungen gibts diese Möglichkeit zwar schon, die ist jedoch allgemein gehalten (PSPad kann für über 200 Programmier-Sprachen verwendet werden) und ziemlich versteckt. Im ImpKit will ich dem User eine einfache Einstellmöglichkeit zur Verfügung stellen, spezialisiert auf ".au3" und ".ppr" Dateien.
Die Registry hat seit jeher Rätsel aufgegeben und seit 64 Bit Windows'e bei der breiten Masse Einzug gehalten haben, gibts noch mehr Stolperfallen. Recherchen im INet haben zum Thema "Dateityp registrieren", "Dateiendung mit Programm verknüpfen", usw. unsäglich viele Treffer gebracht. Nachdem ich "alle" ausprobiert habe, kam die Ernüchterung. Die meisten sind auf Win 10 einfach nicht mehr gültig und funktionieren schlichtweg nicht. Auch Lösungen mit "ASSOC" und "FTYPE" funktionieren nicht zuverlässig. Deshalb habe ich mich entschlossen, die benötigten Einträge in der Registry herauszufinden und mit meinem Script einzutragen, sobald der User das OK gibt.
Was ich herausgefunden habe:
Es gibt mehrere Stellen in der Registry, bei einigen davon sind unterschiedliche Programme zum Öffnen des Dateityps eingetragen. Deshalb weiß ich nicht mit Sicherheit, welche zum zuverlässigen Registrieren einer Dateiendung tatsächlich benötigt werden. Ich hatte bei Tests auf Win 10 den Eindruck, dass die ersten beiden Eintrags-Paare ausreichen (blau gefärbt).
Registry Einträge
"HKEY_CLASSES_ROOT\.au3\" => (Standard), REG_SZ, au3file
"HKEY_CLASSES_ROOT\au3file\Shell\Open\Command\" => "Pfad zum Prog, mit dem AU3s geöffnet werden" "%1"
"HKEY_CLASSES_ROOT\.ppr" => (Standard), REG_SZ, PSPad.project
"HKEY_CLASSES_ROOT\PSPad.project\Shell\Open\Command" => "Pfad zum Prog, mit dem PPRs geöffnet werden" "%1"
Im Folgenden habe ich die Einträge für ".ppr" Dateien weggelassen. Sie sind entsprechend dem obigen Eintrags-Paar für die jeweiligen folgenden Eintrags-Paare.
"HKEY_CURRENT_USER\Software\Classes\.au3" => (Standard), REG_SZ, au3file
"HKEY_CURRENT_USER\Software\Classes\au3file\Shell\Open\Command\" => "Pfad zum Prog, mit dem AU3s geöffnet werden" "%1"
"HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.au3\" => (Standard), REG_SZ, au3file
"HKEY_LOCAL_MACHINE\SOFTWARE\Classes\au3file\Shell\Open\Command\" => "Pfad zum Prog, mit dem AU3s geöffnet werden" "%1"
"HKEY_USERS\S-1-5-21-3283306847-3230872699-3813378835-1001\Software\Classes\.au3\" => (Standard), REG_SZ, au3file
"HKEY_USERS\S-1-5-21-3283306847-3230872699-3813378835-1001\Software\Classes\au3file\" => "Pfad zum Prog, mit dem AU3s geöffnet werden" "%1"
"HKEY_USERS\S-1-5-21-3283306847-3230872699-3813378835-1001_Classes\.au3\" => (Standard), REG_SZ, au3file
"HKEY_USERS\S-1-5-21-3283306847-3230872699-3813378835-1001_Classes\au3file\Shell\Open\Command" => "Pfad zum Prog, mit dem AU3s geöffnet werden" "%1"
Folgende Einträge sind IMHO nicht relevant:
"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.au3\OpenWithProgids\" au3file, REG_NONE, Binärwert ... 0
"HKEY_USERS\S-1-5-21-3283306847-3230872699-3813378835-1001\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.au3\OpenWithProgids\" au3file, REG_NONE, Binärwert ... 0
"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts" au3file_.au3
"HKEY_USERS\S-1-5-21-3283306847-3230872699-3813378835-1001\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts" au3file_.au3
Leider sind mir einige Vorgänge in der Registry nicht ganz klar. So kann ich z.B. den Schlüssel "HKEY_CLASSES_ROOT\.au3\" löschen, dann drücke ich auf F5 (Aktualisieren) und schwups ist der Schlüssel wieder da!
Meine Fragen sind entsprechend recht allgemein formuliert: Welche Einträge sind in der Registry zu setzen, um ".au3" und ".ppr" Dateien mit PSPad zu "verknüpfen" (registrieren)? Können die gleichen Einträge unter Win 7 - 10 verwendet werden? Gibt es eine einfachere oder sicherere Methode?
Edit 2:
Viele Fragen zu den Vorgängen in der Registry wurden geklärt, nachdem "TheXman" im EN Forum einen Link zu MS Docs "HKEY_CLASSES_ROOT Key" gepostet hat, wo all das steht, "was Sie schon immer über Registry-Hauptschlüssel wissen wollten"! Das neue Wissen spiegelt sich in den Postings ab #10 wider.