【问题标题】:Adding MenuItem to the allready existing WPF header Menu将 MenuItem 添加到已经存在的 WPF 标题菜单
【发布时间】:2019-02-21 04:50:02
【问题描述】:

What at the moment is, What i want

我想在单击应用程序图标时打开的现有菜单中添加一个 MenuItem。

感谢您的帮助。

【问题讨论】:

    标签: wpf wpf-controls menuitem application-icon


    【解决方案1】:

    可以使用互操作来进行 Win32 调用...首先覆盖 Window 的 SourceInitialized 方法并添加以下内容:

    public const uint MyMenuItemID = 0x0555;
    
    private const uint MF_BYCOMMAND = 0x00000000;
    private const uint MF_BYPOSITION = 0x00000400;
    
    [DllImport ("user32.dll")]
    private static extern IntPtr GetSystemMenu (IntPtr hWnd, bool bRevert);
    
    [DllImport ("user32.dll")]
    private static extern bool InsertMenu (IntPtr hMenu, uint uPosition, uint uFlags, uint uIDNewItem, string lpNewItem);
    
    private void Window_SourceInitialized (object sender, EventArgs e)
    {
        HwndSource source = PresentationSource.FromVisual (this) as HwndSource;
        if (source != null) {
            IntPtr hMenu = GetSystemMenu (source.Handle, false);
            InsertMenu (hMenu, 5, MF_BYPOSITION, MyMenuItemID, "my own MenuItem");
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-11
      • 1970-01-01
      • 2013-09-04
      • 2019-07-09
      • 2011-10-15
      相关资源
      最近更新 更多