【问题标题】:Emulating clicks into PopMenu windows模拟点击 PopMenu 窗口
【发布时间】:2014-03-01 16:54:23
【问题描述】:

我正在编写一个负责模拟其他进程中的点击的软件,我已经设法使用 PostMessage() 来完成它,但是有一件有趣的事情:

首先,弹出菜单不是来自我可以成功模拟点击的窗口的子项,它看起来像是来自桌面窗口(#32769 类)的子项。

我能够获得弹出菜单的句柄(#32868 类),但是当我发送带有 WM_LBUTTONDOWN 的 PostMessage 时,窗口似乎可以处理该消息,但我真的不知道会发生什么,因为 spy++ 不知何故无法获得来自此窗口的窗口消息。

谁能告诉我为什么 spy++ 没有收到它的消息,以及是否有任何方法可以模拟鼠标点击进入这个神秘的弹出菜单窗口?

【问题讨论】:

  • 使用自动化。这就是它的用途。
  • 嘿,雷蒙德,自动化是什么意思?
  • @user3368568:他指的是UI Automation,这是一种用于以可编程方式访问和操作 UI 元素的 API,尤其是在进程边界上。

标签: c winapi window


【解决方案1】:

在 user32.dll 中尝试mouse_event 函数:

mouse_event(MOUSEEVENTF_LEFTDOWN, X, Y, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, X, Y, 0, 0);

【讨论】:

  • 你好 mustafa,mouse_event 和 sendinput dont work because the window can be created in diferent positions depending of current cursor position, id 都想解决向它的处理程序发送窗口消息的问题
猜你喜欢
  • 2012-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-12
相关资源
最近更新 更多