目标应用程序是用Delphi编写的(win32而不是.NET)并且是封闭源代码。
我想调用的动作叫做Copy,但是没有明显的键盘快捷键。 (Ctrl + Insert执行错误,Ctrl + C不执行任何操作)
我可以找到我的目标HWND
并说服它打开上下文菜单(它响应WM_RBUTTONDOWN/UP
而不是WM_CONTEXTMENU
)。从菜单HWND
我甚至可以通过MN_GETHMENU
获取菜单句柄,找到我想要的菜单项。我只是不知道如何“选择”该项目的细节。菜单是“无模式”的,即无效。它的HWND
不属于我,所以我不知道哪个隐藏的TPUtilWindow
窗口是真正的所有者 - 否则我可能只是发送一个WM_COMMAND
而不是弹出菜单,这将是更好的。
虽然我确信它可以促进各种各样的黑客攻击,但我不希望将代码注入目标进程。
接受任何语言的答案。
答案 0 :(得分:8)
显然,您可以发送WM_RBUTTONDOWN/UP
消息,然后它会响应。如果是,您还可以发送WM_KEYDOWN/UP
条消息吗?只要您知道菜单的结构并且它没有改变,请尝试告诉应用程序有人按下向下箭头X次,然后按ENTER键。这对我来说似乎是最简单的解决方案......