Die große Frage: Ist das sicher?

Die große Frage: Ist das sicher?

Gibt es eine Möglichkeit, ein anderes Programm als Standardprogramm festzulegen, das beim Öffnen eines Ordners oder „Arbeitsplatz“ geöffnet wird? Ich möchte den Windows Explorer durch ein anderes Programm ersetzen, z. B. FreeCommander. Ich habe versucht, in den Systemsteuerungsoptionen nach Programmzuordnungen zu suchen, konnte aber keine Option zum Öffnen von Ordnern finden.

Ich nehme an, dass es irgendwo einen regulären Ausdruck gibt, der dies ermöglichen könnte, aber ich werde nicht manuell danach suchen.

Antwort1

Im Allgemeinen ist die Frage von PHOENiX richtig, aber es gibt ein Problem damit. Der Registrierungsschlüssel HKEY_CLASSES_ROOT\Folderumfasst nicht nur Verzeichnisse, sondern auch verschiedene spezielle Ordner, wie zum Beispiel Elemente imBedienfeld, usw. Das sind die GUID-Strings, über die PHOENiX schreibt. Wenn Sie versuchen, einen solchen speziellen Ordner in einem Dateimanager eines Drittanbieters zu öffnen, schlägt dies höchstwahrscheinlich fehl, sodass Sie diese Ordner nicht mehr verwenden können.

Was Sie eigentlich wollen, ist nur zu konfigurierenVerzeichnisseUndfährtin Ihrem Dateimanager geöffnet werden. Dafür gibt es zwei Registrierungsschlüssel:

  • HKEY_CLASSES_ROOT\Directory
  • HKEY_CLASSES_ROOT\Drive

Hier sind zwei Beispiele, wie man Total Commander als Standard-Dateimanager einstellt. Beide bewirken, dass jedes Verzeichnis oder Laufwerk in Total Commander in einem neuen Tab geöffnet wird, wenn man darauf klickt (z. B. im Startmenü), doppelklickt (z. B. auf dem Desktop, im Windows-Datei-Explorer usw.), es aus einer anderen Anwendung öffnet usw. Der einzige Unterschied besteht darin, dass das erste dieOffenElement im Kontextmenü des Verzeichnisses/Laufwerks und das zweite fügt ein neuesÖffnen in Total Commandermit dem Symbol des Total Commanders zum Kontextmenü.

Kopieren Sie einfach den untenstehenden Inhalt, fügen Sie ihn in eine neue Datei ein, geben Sie ihm die .regErweiterung und führen Sie ihn aus. Natürlich müssen Sie sicherstellen, dass Sie den richtigen Pfad zur ausführbaren Datei von Total Commander haben.

Überprüf denDokumentationfür mehr Details.

1. Verwenden Sie die StandardeinstellungOffenArtikel

Windows Registry Editor Version 5.00

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

[HKEY_CLASSES_ROOT\Drive\shell\open\command]
@="\"C:\\Program Files\\totalcmd\\TOTALCMD64.EXE\" \"%1\" /T /O /S"

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

[HKEY_CLASSES_ROOT\Directory\shell\open\command]
@="C:\\Program Files\\totalcmd\\TOTALCMD64.EXE \"%1\" /T /O /S"

2. Fügen Sie ein neues Kontextmenüelement hinzuÖffnen in Total Commander

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Drive\shell]
@="TotalCommander"

[HKEY_CLASSES_ROOT\Drive\shell\TotalCommander]
@="Open in Total Commander"

[HKEY_CLASSES_ROOT\Drive\shell\TotalCommander\command]
@="\"C:\\Program Files\\totalcmd\\TOTALCMD64.EXE\" \"%1\" /T /O /S"
"Icon"="C:\\Program Files\\totalcmd\\TOTALCMD64.EXE,0"

[HKEY_CLASSES_ROOT\Directory\shell]
@="TotalCommander"

[HKEY_CLASSES_ROOT\Directory\shell\TotalCommander]
@="Open in Total Commander"
"Icon"="C:\\Program Files\\totalcmd\\TOTALCMD64.EXE,0"

[HKEY_CLASSES_ROOT\Directory\shell\TotalCommander\command]
@="C:\\Program Files\\totalcmd\\TOTALCMD64.EXE \"%1\" /T /O /S"

Kommandozeilenparameter von Total Commander

In den obigen Beispielen werden 4 Befehlszeilenparameter verwendet:

  • "%1": ein Pfad des geöffneten Verzeichnisses/Laufwerks, sollte in Anführungszeichen stehen, um Pfade mit Leerzeichen korrekt verarbeiten zu können
  • /O: Verwenden Sie die vorhandene Instanz von Total Commander, anstatt eine neue auszuführen
  • /T: Öffnet einen neuen Tab, anstatt den aktuell aktiven erneut zu verwenden
  • /S: das geöffnete Verzeichnis/Laufwerk wird als Quelle behandelt, es wird also in dem Panel geöffnet, in dem sich die aktuell aktive Registerkarte befindet

Überprüf denDokumentationfür weitere Parameter.

Antwort2

Durch Vergleichen der Registrierung vor und nach dem Einrichten von Q-Dir als Datei-Explorer mit der Option im Menü „Extras“ können Sie sehen, was es tatsächlich bewirkt (da die Software nicht Open Source zu sein scheint):

Key: HKEY_LOCAL_MACHINE\Software\Classes\Folder\shell
Change: Added Value
Value: *Q-Dir
Type: REG_SZ

Key: HKEY_LOCAL_MACHINE\Software\Classes\Folder\shell\*Q-Dir
Change: Added Key

Key: HKEY_LOCAL_MACHINE\Software\Classes\Folder\shell\*Q-Dir
Change: Added Value (Icon)
Value: C:\Program Files\Q-Dir\Q-Dir.exe
Type: REG_SZ

Key: HKEY_LOCAL_MACHINE\Software\Classes\Folder\shell\*Q-Dir\command
Change: Added Key

Key: HKEY_LOCAL_MACHINE\Software\Classes\Folder\shell\*Q-Dir\command
Change: Added Value
Value: "C:\Program Files\Q-Dir\Q-Dir.exe" /e>%L>%D>%1>%S>
Type: REG_SZ

Es wird ein Shell-Befehl erstellt, der auch im Kontextmenü enthalten wäre. Dieser ist jedoch die „Standardaktion“, d. h. wenn Sie etwas im Windows-Datei-Explorer öffnen, wird es stattdessen in Q-Dir geöffnet.

Die erste Registrierungsänderung legt die Standard-Shell auf den neu erstellten *Q-DirShell-Befehl fest.

Der Wert der letzten Registrierungsänderung hat folgende Bedeutung:

"C:\Program Files\Q-Dir\Q-Dir.exe"-- Führen Sie Q-Dir.exe aus
/e>%L>%D>%1>%S>-- mit diesen Argumenten

>%L>%D>%1>%S>sind Kommandozeilenvariablen, die hier näher erläutert werden:Welche speziellen Variablen stehen beim Schreiben eines Shell-Befehls für ein Kontextmenü zur Verfügung?

>Der Unterschied zwischen ihnen und dem ist jedoch /espezifisch für Q-Dir. Q-Dir hat speziell einen /eSwitch implementiert, der die Werte annimmt, sodass er sie aufteilen >und nach Bedarf in einer Prioritätskette verwenden kann.


Die große Frage: Ist das sicher?

Wir wissen es nicht genau, aber gehen Sie dabei mit Vorsicht vor. Mir ist bereits aufgefallen, dass dem Shell-Ersetzungsprogramm möglicherweise ein Argument bereitgestellt wird, das man als Dateipfad erwarten würde, während es sich in Wirklichkeit als eine seltsame GUID-Zeichenfolge herausstellt, z. B. im Format ::{123E4567-E89B-12D3-A456-426614174000}\8\::{123E4567-E89B-12D3-A456-426614174000}. Dies tritt beispielsweise auf, wenn Sie im Startmenü mit der rechten Maustaste auf eine App klicken -> Deinstallieren, was normalerweise an den Explorer (die Standard-Shell) übergeben und von dort aus verarbeitet wird.

Eine Möglichkeit, dieses Problem zu lösen, besteht darin, ein Zwischenprogramm zu erstellen, das die Argumente entgegennimmt, sicherstellt, dass es sich um einen Dateipfad handelt, und, falls nicht, die Argumente an explorer.exe weitergibt, anstatt die eigentlich gewünschte Shell zu öffnen. Programme wie Q-Dir haben entweder dies oder etwas Ähnliches direkt darin programmiert, weshalb dies für Q-Dir nicht erforderlich ist.

Antwort3

Ich bin mir nicht sicher über FreeCommander, aberQ-Dirhat eine Option, diesen Dateimanager als Standard festzulegen:

Bildbeschreibung hier eingeben

Diese Einstellung unterliegt jedoch einigen Einschränkungen, wenn sie als portable Anwendung ausgeführt wird. Beispielsweise Win Ewird der Windows Explorer gestartet, obwohl im Kontextmenü ein Eintrag zum Öffnen eines Ordners mit Q-Dir vorhanden ist.

Antwort4

In seiner Kopfgeldkampagne bat Erel Segal-Halevi um einen Dateimanager mit Tabs.

Es gibt viele alternative Dateimanager, meist kostenlose, und einige davon unterstützen Tabs. Eine Liste solcher Produkte mit Bewertungen finden Sie im Artikel Bester kostenloser Dateimanager. Aus dieser Liste wählte Erel QTTabBar, das den Windows Explorer um Registerkarten und zusätzliche Ordneransichten erweitert.

Es gibt sogar Produkte, die jedem Produkt unter Windows Registerkarten hinzufügen können, einschließlich dem Windows Explorer: TidyTabs Und TaskSpace.

verwandte Informationen