Frage

Ich habe eine Windows -Shell -Erweiterung mit ATL (Visual Studio 2008) erstellt. Es hat die folgenden Module und jedes Modul ist ein separates ATL-einfaches Objekt mit einer eigenen .rgs-Datei zur Registrierung:-

  1. ISHELLFOLDER/ISHELLVIEW -> Für ein virtuelles Laufwerk im Windows Explorer
  2. IContextMenu/iShellextinit -> Für Popup -Menüdateien und Ordner
  3. IShelliconoverlayidentifier - Zeigen Sie Overlay -Symbole für Dateien und Ordner an
  4. IShellPropsheetEXT/iShellextinit -> Für eine benutzerdefinierte Eigenschaftsseite in Datei- und Ordnereigenschaften

Die oben genannte Funktionen in WinXP und ich kann diese Shell -Erweiterung in WinXP debuggen. Aber sobald ich zu Vista wechsle, erhalte ich nur Methodenaufrufe für (2) und (4). Das Laufwerk wird in Windows Explorer erstellt, aber die zugrunde liegenden Methoden werden nicht aufgerufen, wenn ich darauf klicke. Wenn ich mit der rechten Maustaste klicke, werde ich aufgerufen (2) und wenn ich "Eigenschaften" für eine Datei oder einen Ordner auswähle, komme ich in den Code für (4).

Gibt es eine Schnittstelle, die mir für (1) und (3) auf Vista fehlt? Ich konnte keine vollständige und detaillierte Dokumentation zum Schreiben von Shell -Erweiterungen für Vista auf MSDN finden. Ich hatte bereits die CodeProject -Artikel über Shell -Erweiterungen durchlaufen.

War es hilfreich?

Lösung

Das Problem war auf einen XML -Smart -Zeiger -Gebrauch. Es hatte Probleme, als Release () darauf gerufen wurde.

Überprüfen Sie diesen LinkInternet Explorer stürzt ab, wenn msxml2 :: ixmldomdocumentPtr -> release () aufgerufen wird

Andere Tipps

Stellen Sie sicher, dass Ihre Erweiterungen die Initialisierung ordnungsgemäß behandeln, da die Vercrsid.exe Ihre Erweiterung nicht geladen wird. Verclsid.exe lädt zuerst die Shell -Erweiterungen und prüft sie schnell, bevor sie ein "OK" an die Shell sendet, um anzuzeigen, dass es sicher ist, die Erweiterung zu laden.

Sehen hier Für einige Details zu versid.exe.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top