Genau das ist mein Failsafe, da beziehe ich mich nicht auf die ItemPIDL sondern auf die FolderPIDL damit er überhaupt etwas darstellen kann.
Löst OleCheck denn eine
Exception aus, wenn du den Failsafe weglässt? Wenn ja, was sagt diese? Irgendwas muss ja falsch sein, wenn es nicht funktioniert. Wobei es denkbar ist, dass es auf diesem Weg gar nicht geht, aber das kann ich nicht beurteilen, denn dafür hab ich zu wenig Ahnung von Windows-Kontextmenüs (nahe Null).
Wie groß ist denn Cmd bzw. Cmd-1, wenn das Eigenschaften-Item gerufen wird?
Ich glaube, du solltest das Flag CMIC_MASK_UNICODE nicht setzen.
MS schreibt:
Zitat:
CMIC_MASK_UNICODE
The shortcut menu handler should use lpVerbW, lpParametersW, lpDirectoryW, and lpTitleW members instead of their
ANSI equivalents.
Die setzt du aber gar nicht. Alternativ kannst du das Flag auch belassen und zusätzlich die angegebenen W-Parameter füllen, solltest dann aber die Struktur TCMInvokeCommandInfoEx statt TCMInvokeCommandInfo nutzen (in der Doku zu letzterem steht nix zum Flag CMIC_MASK_UNICODE).
Zitat:
Puh.... Danke für diese Erkenntnis, ich bin tatsächlich davon ausgegangen das ein aktivieren der Animation nur für mein Programm gilt, auch nur solange es läuft und nicht das dadurch Systemeinstellungen gesetzt werden.
Nun, die Funktion heißt
SystemParametersInfo, nicht
ProgramParametersInfo.
Zitat:
Schatteneffekte habe ich auch aktiviert, gilt das auch als Systemeinstellung?
Hier gilt dasselbe. Ist mir nur nicht aufgefallen, weil die bei mir eh aktiviert sind. Wäre das nicht so, hätte ich das ebenfalls angemerkt.
Grüße
Dalai