namespace AppendMenu { public partial class Form1 : Form { public Form1() { InitializeComponent(); } [DllImport("user32.dll")] private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert); [DllImport("user32.dll")] private static extern bool AppendMenu(IntPtr hMenu, Int32 wFlags, Int32 wIDNewItem, string lpNewItem); public const Int32 WM_SYSCOMMAND = 0x112; public const Int32 MF_SEPARATOR = 0x800; public const Int32 MF_STRING = 0x0; public const Int32 IDM_ABOUT = 10000; protected override void WndProc(ref Message m) { if (m.Msg == WM_SYSCOMMAND) switch (m.WParam.ToInt32()) { case IDM_ABOUT: MessageBox.Show("您点击了窗体新添加的任务栏菜单","消息"); return; default: break; } base.WndProc(ref m); } private void Form1_Load(object sender, EventArgs e) { IntPtr sysMenuHandle = GetSystemMenu(this.Handle, false); AppendMenu(sysMenuHandle, MF_SEPARATOR, 0, string.Empty);//添加一个分隔线 AppendMenu(sysMenuHandle, MF_STRING, IDM_ABOUT, "新菜单"); } } }