ContextMenuHandler und .lnk
-
Hi
habe mir eine DLL geschrieben, die im Kontextmenü des Explorers einen Zusatzpunkt einbindet.
Habe nun folgendes Problem beim Auswerten, auf welche Dateien mit der rechten Maustaste geklickt wurde in der Initialize-Funktion:
Registriere ich den Handler unter HKCR\* bekomme ich bei Verknüpfungen statt dem .lnk-Dateinamen, den Dateinamen, auf dem der Link verweist - ich benötige aber genau den .lnk-Dateinamen.
Registriere ich unter HKCR\AllFilessystemObjects wird die Initialize-Funktion anscheinend 2mal aufgerufen und ich bekomme einmal den korrekten Dateinamen (also den Namen der Verknüpfung) und zum anderen noch den Dateinamen, auf den der Link verweist.Hat jemand von euch einen Tipp?
-
Probier mal mit HKCR\.lnk
-
Danke, wenn es mir nur auf Verknüpfungen angekommen wäre, hätte ich deine Lösung sicherlich selber herausgefunden (ist nicht böse gemeint
).
Nur ging es mir darum alle ausgewählten Dateien zu 'verarbeiten' und bei Verknüpfungen dann auch diese und nicht deren Ziel.Hab' mir jetzt aber mit Hife eines Flags in der QueryContextMenu Funktion beholfen. Hatte gehofft einer der Spezialisten hier hätte mir einen Tipp geben können, wie man es vermeiden kann, dass zwei Objekte der Klasse erstellt werden, wenn man den Handler unter HKCR\AllFilessystemObjects registriert.