[2k] Kontext-Menü anpassen

Moin

Ich will in das Kontext-menü ein paar alte DOS-programme einbauen die Dateien als Parameter bekommen. im Kontext-menu soll also z.b. beim rechtsklick auf eine Datei XYZ ein Link auftauchen der folgendes aufruft:

„DosProg XYZ“

das DosProg steht schon im Path, wird immer also gefunden. Open-with ist keine Alernative da die Dateien unterschiedlichste Endungen haben.

danke & cu

Hallo,

bsw. so für das Notepad im Kontextmenü?

  1. Schritt:
    Erstellen des Schlüssels HKEY_CLASSES_ROOT*\shell\Notepad\command
  2. Schritt:
    Unter Schlüssel Notepad, Standard den Wert Notepad geben.
    Unter Schlüssel command, Standard den Wert notepad „%1“ geben.

Allgemeines:

-----snip-----
… löschen Sie so entbehrliche Einträge:
Werfen Sie zuerst jeweils einen Blick in das Kontextmenü von Dateien und das von Ordnern. Treffen Sie dann eine Auswahl, welche Menüpunkte Sie entfernen möchten, und notieren Sie sich die Namen der überflüssigen Punkte.

Starten Sie den Registry-Editor REGEDIT.EXE. Da die Registry mehrere Orte für die Kontextmenüpunkte bietet, müssen Sie hier systematisch einige Schlüssel in der Struktur unter „Hkey_Classes_Root“ durchgehen.

Der erste Ort, der für Einträge im Kontextmenü von Dateien in Frage kommt, ist „Hkey_Classes_Root*\Shell“. Unter „Shell“ angelegte Unterschlüssel interpretiert Windows als Eintrag im Kontextmenü aller Dateien. Die Bezeichnung des Eintrags ist entweder identisch mit dem Namen des Unterschlüssels oder mit dessen „(Standard)“-Wert. Sollten Sie hier nicht benötigte Kontextmenüpunkte entdecken, löschen Sie einfach den betreffenden Unterschlüssel.

Der nächste potenziell relevante Schlüssel findet sich unter „Hkey_Classes_Root*\ShellEx\ContextMenuHandlers“. Programme tragen ihren Kontextmenüpunkt hier aber nicht im Klartext ein, die Einträge sind deshalb schwerer zu identifizieren. Beispielsweise legt Winzip einen Unterschlüssel namens „Win-Zip“ an, dessen Eintrag „(Standard)“ in Form einer hexadezimalen Zahlenkette auf eine Class-ID verweist.

Diese Class-ID bestimmt die eigentlichen Menüpunkte und deren Namen. Wenn Sie wegen der abstrakten Class-ID nicht sicher sind, welcher Menüpunkt sich tatsächlich hinter der Zahlenkette versteckt, machen Sie einen einfachen Test:

Gehen Sie zu einem verdächtigen Schlüssel, klicken Sie doppelt auf den Eintrag „(Standard)“, und tragen Sie im Dialog „Zeichenkette bearbeiten“ ein Minuszeichen am Anfang der Zahlenkette ein.

Die Class-ID ist damit deaktiviert. Sehen Sie jetzt im Kontextmenü nach, ob der entsprechende Menüpunkt verschwunden ist. Ist das der Fall, dann haben Sie den richtigen Registry-Eintrag gefunden. Wenn sich der Punkt weiterhin zeigt, entfernen Sie das Minuszeichen wieder vom Anfang der Zahlenkette und wiederholen den Test mit dem nächsten verdächtigen Eintrag.

Anschließend geht es weiter zum Schlüssel „Hkey_Classes_Root\AllFileSystemObjects\Shell“, der nicht nur Auswirkungen auf das Kontextmenü von Dateien hat, sondern auch von Ordnern.

Falls der Unterschlüssel „Shell“ vorhanden ist, können hier analog zu „Hkey_Classes_Root*\Shell“ Menü-Einträge im Klartext vorliegen. In den Unterschlüsseln von „Hkey_Classes_Root\AllFileSystemObjects\ shellex\ContextMenuHandlers“ finden Sie wieder Class-IDs, die die Menüpunkte festlegen.

So ist hier etwa unter „Send To“ die Funktion des Kontextmenüpunkts „Senden an“ definiert. Nach dem gleichen Schema enthalten „Hkey_ Classes_Root\Folder“ und „Hkey_Classes_Root\Directory“ in den Unterschlüsseln „Shell“ und „ContextMenuHandlers“ mögliche Einträge für das Kontextmenü von Ordnern.
-----snap-----

Gruß, o

Danke (o.T)
ging auf Anhieb.