Das InvokeCommand sollte doch sein was Du willst? oder hab ich das falsch verstanden?
Ja, das stimmt schon. Aber ich muss zugeben, dass ich diese Shell-Programmierung teilweise nicht so ganz verstehe. Deshalb komme ich leider auch nicht drauf, wie ich von dem IContextMenu das gewünschte Item zum Ausführen finde.
Nach
OLECheck(ShellFolder.GetUIObjectOf(0, 1, PIDL, IID_IContextMenu, aPrgOut, Pointer(aContextMenu)));
ist das Kontextmenü in aContextMenu drin. Aber nun muss ich da noch irgendie durchiterieren und den gewünschten Eintrag finden (anhand vom Text oder irgendeiner ID). Danach kann ich das ausführen.
Aber letztendlich soll doch was passieren und zwar mehr als nur das Kontextmenü aufklappen zu lassen.
Wie gesagt: Nur finden, nicht aufklappen. Dann einen Eintrag davon ausführen. Genau so als hätte man das händisch getan.