如何打开窗口的上下文菜单(当您右键单击窗口的标题栏时出现的正常 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+Space。因此,在您的情况下,您可以将这些键发送到该窗口,该窗口应该会为您打开上下文菜单。
您使用 SendMessage
所做的部分实际上只发送一个通知,指示模拟右键单击的指定窗口。但鼠标所在的位置仍然很重要。
同样重要的是:如果您使用“SendKeys.Send”(对于 Windows 窗体),这只会影响当前事件的窗口。
关于c# - 如何打开任何窗口的上下文菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29700078/