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

如何打开窗口的上下文菜单(右键单击窗口的标题栏时显示的常规Windows上下文)。

我试过的东西(点击按钮)

ReleaseCapture();
SendMessage(this.Handle, WM_NCRBUTTONDOWN, 0, 0);
SendMessage(this.Handle, WM_RBUTTONUP, 0, 0);
SendMessage(this.Handle, WM_CONTEXTMENU, 0, 0);

和这个:

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);

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

你使用SendMessage做的部分实际上只发送一个通知,指明模拟右键单击的指定窗口。 但鼠标的位置仍然很重要。

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

链接地址: http://www.djcxy.com/p/57387.html

上一篇: How to open the context menu of any window?

下一篇: How add context menu item to Windows Explorer for folders