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

如何发现由Windows上下文菜单项调用的方法?,windows,winapi,Windows,Winapi,当您在干净的桌面上单击鼠标右键时,会打开一个关联菜单。 每个项都有一个方法调用。 要以编程方式调用这些方法,首先我需要知道我想要哪个方法。 IIRC有一个工具可以帮上忙,但我记不起它的名字。你不能在另一个进程中调用这样的方法。您可以尝试注入上下文菜单通常使用SendMessage生成的WM_命令消息。使用Spy++找出该消息可能是什么(如果存在)。您不能在其他进程中调用此类方法。您可以尝试注入上下文菜单通常使用SendMessage生成的WM_命令消息。使用Spy++查找该消息可能是什么(如果存

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

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

您不能在其他进程中调用此类方法。您可以尝试注入上下文菜单通常使用SendMessage生成的WM_命令消息。使用Spy++查找该消息可能是什么(如果存在)。

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

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

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

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

请注意,框架隐藏了底层细节,因此即使您使用OOP,winapi也会在下面使用消息。我认为您正在寻找的工具可能是ShellExView()。请注意,框架隐藏了底层细节,因此即使您使用OOP,winapi也会在下面使用消息。我认为您正在寻找的工具可能是ShellExView()。在上下文菜单上使用Spy++拖放功能是不可能的,因为当您尝试使用此工具时,它们会在您想要监视显示菜单的窗口之前关闭。这就是获取命令的工具。在上下文菜单上使用Spy++拖放功能是不可能的,因为当您尝试使用此工具时,它们会在您想要监视显示菜单的窗口之前关闭。那就是得到命令的人。