如何打开窗口的上下文菜单(当您右键单击窗口的标题栏时出现的正常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);
答案 0 :(得分:4)
要在窗口中打开系统上下文菜单,可以按Alt + Space。因此,在您的情况下,您可以将这些键发送到该窗口,该窗口应该为您打开上下文菜单。
您使用SendMessage
执行的部分实际上只发送模拟右键单击的指定窗口的通知。但它在鼠标所在的位置仍然很重要。
同样重要的是:如果使用“SendKeys.Send”(对于Windows窗体),这只会影响当前活动的窗口。