加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何以编程方式在另一个应用程序中选择上下文菜单项?

发布时间:2020-12-15 09:33:01 所属栏目:大数据 来源:网络整理
导读:目标应用程序是用Delphi(win32而不是.NET)编写的,并且是封闭源代码. 我想调用的操作称为复制,但没有明显的键盘快捷键. (Ctrl Insert做错了,Ctrl C什么都不做) 我可以找到我的目标HWND并说服它打开上下文菜单(它响应WM_RBUTTONDOWN / UP而不是WM_CONTEXTMENU)
目标应用程序是用Delphi(win32而不是.NET)编写的,并且是封闭源代码.

我想调用的操作称为复制,但没有明显的键盘快捷键. (Ctrl Insert做错了,Ctrl C什么都不做)

我可以找到我的目标HWND并说服它打开上下文菜单(它响应WM_RBUTTONDOWN / UP而不是WM_CONTEXTMENU).从菜单HWND我甚至可以通过MN_GETHMENU获得菜单句柄并找到我想要的菜单项.我只是不知道如何“选择”该项目的细节.菜单是“无模式”的,即无效.它的HWND不是拥有的,所以我不知道哪个隐藏的TPUtilWindow窗口是真正的所有者 – 否则我可能只是发送一个WM_COMMAND而不是弹出菜单,这将是更好的选择.

虽然我确信它有助于各种各样的黑客攻击,但我宁愿不将代码注入目标进程.

以任何语言接受的答案.

解决方法

显然你能够发送WM_RBUTTONDOWN / UP消息并且它会响应.如果是这样,你还可以发送WM_KEYDOWN / UP消息吗?只要您知道菜单的结构并且它没有改变,请尝试告诉应用程序有人按下向下箭头X次,然后按ENTER键.这对我来说似乎是最简单的解决方案……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读