Set "Image File Execution Options" öffnet immer die benannte exe-Datei als Standard
Als dieser link suggeriert, die ich ersetzen will Notepad.exe
mit Notepad2.exe
mit "Image File Execution Options" - Funktion, indem Sie den Befehl ausführen
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe"
/v "Debugger" /t REG_SZ /d "\"c:\windows\Notepad2.exe\" /z" /f
Aber wenn ich Editor es noch die Datei öffnet
c:\windows\notepad.exe
in notepad2.exe als text-Datei standardmäßig.
Gibt es eine Möglichkeit das zu vermeiden?
Ich weiß, mit dieser tech-Notepad.exe wird als Erster Parameter übergeben Notepad2.exe. aber ich weiß nicht, wie dies zu vermeiden 🙁
- Dies dürfte wohl in Serverfault
- Oder btter Superuser
- ServerFault? Für eine Frage zu dem Editor zu verwenden? ServerFault ist für server-bezogene Fragen und Merkzettel-Fragen sind sicherlich nicht exklusiv nur für Server. SuperUser wäre viel besser.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Zweck der "debugger" - Taste, um automatisch zu starten, einen debugger und übergeben die ursprünglichen commandline zu den gewünschten debugger. Es setzt auch eine Flagge auf der win32-Funktion CreateProcess, der angibt, dies ist ein debugging-Sitzung.
Es wird angedeutet, dass der debugger dann CreateProcess nach der änderung der Argumente angemessen.
verwandelt sich in
mydebugger könnte, dann rufen Sie etwas wie dieses:
Also die Lösung, um Missbrauch dieser Registrierungsschlüssel ist machen die fake-debugger bearbeitet werden können, die die Kommandozeile die Art und Weise, die Sie wünschen. Sollte es ein einfacher Prozess, der nur parst die Kommandozeile und ersetzt die notepad.exe mit notepad2.exe. Dann müssen Sie zum Zeitpunkt der Registrierung, dass .exe
Für Notepad++, um die Problemumgehung "notepad.exe" hereingebracht als ein Dokument, erstellen Sie eine einfache launcher-batch-Datei (siehe @Ben die Antwort für warum), und zeigen Sie dann das Bild debugger an, dass (a la @fenster Antwort).
nppLauncher.bat:
Hinzufügen Registrierung:
Notepad Replacer diese Technik nutzt, aber macht es extrem einfach zu verwenden und arbeiten mit Editoren, debugger nicht bewusst.
the solution to abusing this registry key is to make the fake debugger that can manipulate the commandline the way you desire. It should be a simple process that just parses the commandline and replaces the notepad.exe with notepad2.exe. Then you need to point the registry to that .exe
Vom Hier
Ersetzen Windows Notepad durch Notepad2 4.1.24 (oder neuer)
Ab der version 4.1.24, die offizielle Version von Notepad2 unterstützt diese Methode für das ersetzen der Windows-Editor, so dass die oben beschriebenen Schritte funktionieren. Es gibt jedoch keine Unterstützung zur Durchführung der Notepad-Ersatz automatisch an, da sich die offizielle Version von Notepad2 wird nicht ändern Sie die system-registry. Aus dem gleichen Grund, es gibt keine Unterstützung für den Zugriff auf aktuelle Dateien durch die Windows 7 Sprunglisten, standardmäßig (dies setzt die Registrierung von Anwendungen in die system-Registrierung zuerst).
Sich auch bewusst sein, dass eine automatisierte Notepad-Ersatz könnte unerwünschte Auswirkungen, wenn Notepad2 wurde als Notepad-Ersatz von einem tragbaren Gerät, und der ursprüngliche Zustand nicht wiederhergestellt wurde, wenn Sie das Gerät trennen.
Einem batch script zum ausführen von Notepad2-Verzeichnis und ersetzen Sie Windows-Editor könnte wie folgt Aussehen (sind erhöhte Rechte erforderlich):
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v "Debugger" /t REG_SZ /d "\"%~dp0Notepad2.exe\" /z" /f
Dem Editor von Windows wiederhergestellt werden können mit diesem Befehl werden (erfordert erhöhte Rechte):
reg delete "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /f
Überprüfen Sie das Ergebnis durch das öffnen Regedit " und suchen
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe]
. Der Debugger Schlüssel enthalten sein sollte der vollständige Pfad zum notepad2.exe und gehören die nachfolgende/z
, z.B.:c:\local\bin\Notepad2.exe -z
. Ohne das Z es wird ein leeres Dokument öffnen.Benutze ich folgende batch-Datei zu öffnen, emacs anstelle von notepad. Ich habe auch ein parameter für die überbrückung ist es so, dass ich immer noch mit dem Editor, wenn ich möchte. z.B. Bearbeiten der hosts-Datei von einer Eingabeaufforderung mit erhöhten rechten:
Setzen Sie diese irgendwo auf dem Weg und Bearbeiten der letzten Zeile öffnen Sie Ihren text-editor:
gesetzt, es zu ersetzen Editor mit diesem Befehl:
oder rufen Sie das Skript wie dieses:
sollte invoke-Editor, aber ersetzen Sie es mit diesem script danach