如何打开任何窗口的上下文菜单?

And*_*Gee 5 c# contextmenu sendmessage

如何打开窗口的上下文菜单(窗口Right-Click标题栏时显示的正常Windows上下文).

我试过的东西(按一下按钮)

ReleaseCapture();
SendMessage(this.Handle, WM_NCRBUTTONDOWN, 0, 0);
SendMessage(this.Handle, WM_RBUTTONUP, 0, 0);
SendMessage(this.Handle, WM_CONTEXTMENU, 0, 0);
Run Code Online (Sandbox Code Playgroud)

还有这个:

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);
Run Code Online (Sandbox Code Playgroud)

Ale*_*ris 4

要在窗口上打开系统上下文菜单,您可以按 Alt+空格键。因此,在您的情况下,您可以将这些键发送到该窗口,该窗口应该为您打开上下文菜单。

您所做的部分SendMessage实际上仅发送模拟右键单击的指定窗口的通知。但鼠标在哪里仍然很重要。

同样重要的是:如果您使用“SendKeys.Send”(对于 Windows 窗体),这只会影响当前活动的窗口。