代码之家  ›  专栏  ›  技术社区  ›  bohdan_trotsenko

来自.NET的窗口菜单

  •  4
  • bohdan_trotsenko  · 技术社区  · 14 年前

    如何从.NET代码(按alt+space时出现的代码)中显示通用窗口的菜单?

    2 回复  |  直到 12 年前
        1
  •  1
  •   AMissico    14 年前

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

    插入自 http://support.microsoft.com/kb/818361

    如果wParam是sc ou key menu,lparam包含与alt键一起用于显示弹出菜单的键的字符代码。例如,按alt+f显示弹出文件将导致wm_syscommand,wparam等于sc_keymenu,lparam等于“f”。

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

    可以使用getSystemMenu、appendMenu、insertmenu、modifymu、insertmenuitem和setmenuiteminfo函数修改窗口菜单中的菜单项。修改窗口菜单的应用程序必须处理wm_SysCommand消息。

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

        2
  •  0
  •   Sheikh Rahat Ali    14 年前

    您可以使用C中的send keys向应用程序发送密钥。在这种情况下,您希望将alt+space键发送到应用程序以显示系统菜单。首先,您必须将焦点转移到要在其中显示系统菜单和使用send keys.sendwait()方法的表单。

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

    尝试以下代码发送alt+space以显示系统菜单

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

    这里%分别代表alt和empty space代表空格键。