Kontext-Menü Einträge erstellen

  • Kann mir jemand sagen welche Registry Schlüssel gesetzt werden müssen um folgendes zu erreichen:

    1. Soll nur beim Dateityp AC3 angezeigt werden
    2. Soll nur für 2 bestimmte Benutzeraccounts vorhanden sein, also nicht für alle Benutzer
    3. Soll direkt im Stamm des Kontextmenüs erscheinen, nicht in einem Untermenü (wobei mich eine Untermenü Lösung ggf. ebenfalls interessieren würde)
    4. Eintrag soll mein Programm mit Parameter aufrufen, in meinem Fall dann ein spezieller Modus ohne GUI
    5. Als weiterer Parameter soll natürlich der Dateipfad übergeben werden
    6. Betriebsysteme die unterstützt werden sollen WinXP, Vista, Win7 jeweils 32bit und 64bit (sofern es Unterschiede gibt wo sich die Schlüssel befinden müssen)

    Screenshot wie es ausschaun soll:

    [Blockierte Grafik: http://i.imgur.com/4yqHe.png]

    Einmal editiert, zuletzt von misterspeed (25. Mai 2011 um 14:36)

  • Hmm ok. Aber wie man das nur für bestimmte Dateiendungen anzeigen lässt steht da leider nicht. Auch wie das mit der Dateipfad Übergabe funktioniert fehlt da. Den Eintrag bei MSDN hab ich nicht verstanden, bin mir auch nicht sicher, ob es überhaupt etwas mit den Kontextmenüs zutun hat.

  • Die Einträge dafür findest du in der Registry unter HKEY_CLASSES_ROOT. Wie das nu aber nur für bestimmte User geht weis ich grad nich.

  • Ah hätte vielleicht erstmal in die Registry schauen sollen, da gibts ja für jede Dateiendung einen Unterordner. Werd mir das morgen nochmal in Ruhe anschaun, ist schon zu spät :D

  • Ok hab das soweit hinbekommen, danke für eure Tipps.

    Benutzerspezifisch kann man die Einträge unter HKCU\Software\Classes\*Dateiendung*\Shell\*gewünschter Name des Eintrags*\Command\ setzen. Dort ersetzt man den Standard Wert dann mit dem Pfad zur Programm.exe.
    Die Übergabe des Dateipfades erfolgt mit Parameter "%1", weitere Parameter können nach belieben angegeben werden, also z.B. für einen Aufruf ohne GUI.

    Was ich bisher nicht hinbekommen habe ist ein individuelles Untermenü, aber das ist mir aktuell auch nicht wichtig.

    Hilfreich war unter anderem auch dieser Eintrag bei MSDN:

    http://msdn.microsoft.com/en-us/library/aa969321.aspx