将MenuItem添加到allready现有WPF标题菜单

将MenuItem添加到allready现有WPF标题菜单,wpf,wpf-controls,menuitem,application-icon,Wpf,Wpf Controls,Menuitem,Application Icon,我想将一个菜单项添加到当您单击应用程序图标时打开的现有菜单中 感谢您的帮助。可以使用interops转到Win32调用。。。首先覆盖窗口的SourceInitialized方法,并添加以下内容: public const uint MyMenuItemID = 0x0555; private const uint MF_BYCOMMAND = 0x00000000; private const uint MF_BYPOSITION = 0x00000400; [DllImport ("use

我想将一个菜单项添加到当您单击应用程序图标时打开的现有菜单中


感谢您的帮助。

可以使用interops转到Win32调用。。。首先覆盖窗口的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");
    }
}