【发布时间】:2010-10-21 23:37:51
【问题描述】:
我需要使用 SendMessage 来模拟目标程序中的用户点击,因为 SendMessage 会阻塞,直到它触发的事件完成处理。这样做的原因是,这种阻止提供了检测是否有任何对话框因单击而打开的机会。我目前的问题是,虽然我可以在打开模型对话框的模拟表单中的按钮上连续使用 WM_LBUTTONDOWN 和 WM_LBUTTONUP 消息进行点击工作,但我无法让它在标准 Windows 应用程序中的菜单和菜单项上工作(记事本)。任何有助于以一种可行的方式执行对菜单项的点击的帮助都会受到赞赏。我已经可以检测它是否是一个菜单项,只需要能够使用 SendMessage 来模拟点击它并阻止它。
干杯
罗斯
【问题讨论】:
-
不确定我是否完全理解问题:你想阻止还是不想阻止?您是否尝试过使用 SendInput - 这是模拟鼠标/键盘输入的常用方法。您通常需要将其与检测输入结果的其他方式配对 - 例如。使用 WinEvents 检测是否出现了对话框或菜单。还有一些测试框架可以为您完成大部分工作。
标签: winapi mouse automated-tests user-input user32