Ich arbeite seit 1995 mit den Explorer-Menüs, um Shell-Erweiterungen in C/C++ zu integrieren. Ich sage das, weil ichglaubendass ich bereits verstehe, wie die Dateizuordnungsschlüssel funktionieren.
Mein Problem ist, dass ich nicht Edit
mit der rechten Maustaste auf txt-Dateien klicken möchte und es gibt KEINEN SCHLÜSSEL, den ich sehen kann (Bearbeitenerscheintein kanonisches Verb sein). Vielleicht gibt es einen neuen Ort in der Registrierung, an dem Einträge pro Benutzer verwendet werden können, um dies zu ändern? Übrigens kann ich es entfernen Open
und Print
es ist in Ordnung ... nur nichtBEARBEITENweil es nicht da ist!
Ich habe Untermenüs erstellt, um meine Vielzahl an Editoren unterzubringen, und das zusätzliche „Bearbeiten“ ist einfach nur lästig.
Um allen die Mühe zu ersparen: Ein paar Bilder sagen mehr als tausend Worte.
Ich gehe davon aus, dass diese Funktionalität aus irgendeinem Grund im Explorer fest einprogrammiert ist. Ich hoffe, dass ich mich täusche.
Außerdem weiß ich, dass ich eine Shell-Erweiterung schreiben könnte, um das Menü zur Laufzeit zu bearbeiten, aber nicht dafür. Ich werde es einfach ignorieren.
Hilf mir, Obi Wan Explorer Guru Kenobi. Du bist meine einzige Hoffnung.
Antwort1
Sie könnenDateitypen-Manager von NirSoftum zu sehen, welche Menüpunkte mit einer bestimmten Erweiterung verknüpft sind, und diese direkt zu bearbeiten. FileTypesMan fasst die relevanten Registrierungsschlüssel zusammen und erspart Ihnen so eine langwierige Suche in der Registrierung.
Bei TXT-Dateien können die Speicherorte für Menüeinträge im Explorer folgende sein:
HKEY_CLASSES_ROOT\.txt (file type)
HKEY_CLASSES_ROOT\txtfile (perceived type)
HKEY_CLASSES_ROOT\SystemFileAssociations\.txt (default file type)
HKEY_CLASSES_ROOT\SystemFileAssociations\text (default perceived type)
Menüeintrag „Bearbeiten“
Den mysteriösen „Bearbeiten“-Befehl finden Sie hier:
Computer\HKEY_CLASSES_ROOT\SystemFileAssociations\text\shell\edit
SystemFileAssociations-Schlüssel
Unter HKEY_CLASSES_ROOT\SystemFileAssociations registrierte Unterschlüssel ermöglichen es der Shell, das Standardverhalten von Attributen für Dateitypen zu definieren und gemeinsame Dateizuordnungen zu aktivieren. Wenn Benutzer die Standardanwendung für einen Dateityp ändern, hat die ProgID der neuen Standardanwendung Vorrang bei der Bereitstellung von Verben und anderen Zuordnungsinformationen. Diese Priorität ergibt sich daraus, dass sie der erste Eintrag im Zuordnungsarray ist. Wenn das Standardprogramm geändert wird, sind die Informationen unter der vorherigen ProgID nicht mehr verfügbar.
Quelle:https://docs.microsoft.com/en-us/windows/win32/shell/app-registration
HKEY_CLASSES_ROOT-Schlüssel
Beachten Sie, dass Änderungen in HKEY_CLASSES_ROOT je nach Situation bei einem dieser Schlüssel landen:
HKEY_CURRENT_USER\Software\Classes
HKEY_LOCAL_MACHINE\Software\Classes
Um die Standardeinstellungen zu ändern, speichern Sie die Änderungen unter HKEY_LOCAL_MACHINE\Software\Classes. Wenn Sie Schlüssel in einen Schlüssel unter HKEY_LOCAL_MACHINE\Software\Classes schreiben, speichert das System die Informationen unter HKEY_LOCAL_MACHINE\Software\Classes. Wenn Sie Werte in einen Schlüssel unter HKEY_CLASSES_ROOT schreiben und der Schlüssel bereits unter HKEY_CURRENT_USER\Software\Classes vorhanden ist, speichert das System die Informationen dort und nicht unter HKEY_LOCAL_MACHINE\Software\Classes.
Quelle:https://docs.microsoft.com/en-us/windows/win32/sysinfo/hkey-classes-root-key