Wie öffnen Sie das Kontextmenü eines Fensters (der normale Windows-Kontext, der erscheint, wenn Sie Klicken Sie mit der rechten Maustaste die Titelleiste eines Fensters).Wie öffne ich das Kontextmenü eines Fensters?
Things I (auf eine Schaltfläche klicken)
ReleaseCapture();
SendMessage(this.Handle, WM_NCRBUTTONDOWN, 0, 0);
SendMessage(this.Handle, WM_RBUTTONUP, 0, 0);
SendMessage(this.Handle, WM_CONTEXTMENU, 0, 0);
Und das versucht haben:
ReleaseCapture();
SendMessage(this.Handle, WM_NCRBUTTONDOWN, HT_CAPTION, 0);
SendMessage(this.Handle, WM_RBUTTONUP, HT_CAPTION, 0);
SendMessage(this.Handle, WM_CONTEXTMENU, HT_CAPTION, 0);
Auf welchem Fenster möchten Sie das Kontextmenü öffnen? Ist es immer bei Ihnen oder auch bei anderen Prozessen? Haben Sie tatsächlich ein Kontextmenü definiert, das geöffnet werden kann, wenn es sich um ein eigenes Fenster handelt? Wenn dieses Steuerelement, von dem Sie das Kontextmenü öffnen möchten, kein Steuerelement enthält, können Sie keines öffnen. –
GetSystemMenu -> TrackPopupMenu vielleicht –
Legen Sie Fokus auf das Fenster fest und senden Sie ALT + Leerzeichen an es. Mit Winforms SendKeys.Send ("%") – Ralf