代码之家  ›  专栏  ›  技术社区  ›  Jader Dias

如何发现由Windows上下文菜单项调用的方法?

  •  0
  • Jader Dias  · 技术社区  · 14 年前

    当你在干净的桌面上单击鼠标右键时,它会打开一个上下文菜单。 每个项都有一个方法调用。 要以编程方式调用这些方法,首先我需要知道我想要哪个方法。 IIRC有一个工具可以帮上忙,但我记不起它的名字了。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Hans Passant    14 年前

    不能在另一个进程中调用这样的方法。您可以尝试注入上下文菜单通常使用SendMessage生成的WMïu命令消息。使用Spy++找出该消息可能是什么,如果它存在的话。

        2
  •  1
  •   Jader Dias    14 年前

    使用Spy++查找句柄并使用SendMessage/PostMessage。它将类似于:

    hwnd = FindWindow(...)
    hmenu = GetMenu(hwnd)
    hsubmenu = GetSubMenu(hmenu, 0)
    menuid = GetMenuItem(hsubmenu, 1)
    SendMessage(hwnd, WM_COMMAND, menuid, 0)