如何将自定义菜单项添加到现有应用程序?

时间:2010-05-30 16:42:07

标签: c#

C#。

示例:alt text http://www.brianapps.net/sysmenuint.png

我正在开发一个屏幕捕获软件,所以我想启用特定的窗口捕获。

2 个答案:

答案 0 :(得分:2)

  mnuHandle = GetSystemMenu(hwnd, false)

  //add a line to the end
  AppendMenu(mnuHandle, MF_SEPARATOR, 0, "")

  //2 add a command ID = 200
  AppendMenu(mnuHandle, MF_STRING, 0x200, "Command &1")
  AppendMenu(mnuHandle, MF_STRING, 0x201, "Command &2")

  //insert a new item to the 2. position
  InsertMenu(mnuHandle, 2, MF_BYPOSITION, 0x202, "Command &3")

  //remove a standard item 
  RemoveMenu(mnuHandle, 0, MF_BYPOSITION)

这不是在一个完全不同的应用程序的系统菜单中创建菜单项的问题...问题或多或少是如何挂钩即将发生的系统菜单事件?

如果要调整任意窗口的大小是你想要做的:只需获取程序的窗口句柄(你会怎么做?)并调用SetWindowPos http://msdn.microsoft.com/en-us/library/ms633545(v=VS.85).aspx

答案 1 :(得分:1)

您可以调用GetSystemMenu API方法来获取现有窗口系统菜单的句柄。

然后,您可以致电InsertMenuItem将项目添加到菜单中。