来自.Net的Windows菜单

时间:2010-05-13 23:53:47

标签: .net windows

如何从.Net代码显示公共窗口的菜单,按下Alt + Space时会出现该菜单?

2 个答案:

答案 0 :(得分:1)

如何使用Visual Basic 2005或Visual Basic .NET禁用控制台应用程序标题栏上的“关闭”按钮

http://support.microsoft.com/kb/818361

插入

如果wParam是SC_KEYMENU,则lParam包含与ALT键一起使用以显示弹出菜单的键的字符代码。例如,按ALT + F显示File弹出窗口将导致WM_SYSCOMMAND的wParam等于SC_KEYMENU,lParam等于'f'。

http://msdn.microsoft.com/en-us/library/ms646360.aspx

插入

可以使用GetSystemMenu,AppendMenu,InsertMenu,ModifyMenu,InsertMenuItem和SetMenuItemInfo函数修改窗口菜单中的菜单项。修改窗口菜单的应用程序必须处理WM_SYSCOMMAND消息。

http://msdn.microsoft.com/en-us/library/ms646360.aspx

插入

答案 1 :(得分:0)

您可以使用c#中的SendKeys将密钥发送到您的应用程序。在您的情况下,您希望将ALT + Space键发送到您的应用程序以显示系统菜单,您必须做的第一件事是您必须将焦点转移到您要显示系统菜单和使用SendKeys的表单.SendWait()方法。

注意:如果不将焦点转移到要显示系统菜单的表单,命令将无法正常工作。

尝试使用以下代码发送ALT + Space以显示系统菜单

        this.Focus();             // Transfering focus to form
        SendKeys.SendWait("% ");  // Sending Keys

这里%表示ALT,空空格分别代表空格键。