如何在所有窗口的窗口菜单中添加项目?

时间:2009-07-08 10:48:46

标签: windows winapi

我想以PowerMenu的方式编写一个实用程序 - 它会在所有应用程序的窗口菜单(alt-space,该菜单)中添加一些额外的东西。

如何做到这一点?

2 个答案:

答案 0 :(得分:1)

  1. 为每个窗口的进程注入一些代码。
  2. 使用钩子中的GetSystemMenu()来检索窗口“alt-space”菜单
  3. 进行修改
  4. 清理
  5. 我个人使用SetWindowsHookEx(),WH_CALLWNDPROC和CallWndProc来实现第1步,需要在步骤4中调用UnhookWindowsHookEx(),并获取自定义消息的位2滚动。这只是个人偏好。

答案 1 :(得分:1)

您可以通过以下方式进行操作:

  1. 获取所有具有系统菜单的窗口
  2. 将自定义项目插入菜单
  3. 安装钩子,这些钩子会将事件从菜单项发送到您的进程
  4. 处理流程中的事件

您可以在此处找到示例https://github.com/AlexanderPro/SmartSystemMenu