在一个窗口中模拟鼠标 - C#

本文关键字:模拟 鼠标 窗口 一个 | 更新日期: 2023-09-27 18:35:21

我知道这是可能的,因为我已经看到一些与我正在开发的应用程序类似的应用程序使用它,但我对如何实现它一无所知。基本上,我需要在我的应用程序表单中创建一个可以独立工作的鼠标。它应该能够单击表单上的内容,即使表单已最小化。

到目前为止,我的研究只提出了数百人要求使用mouse_event使用Windows API模拟鼠标事件。这不是我需要的,因为它只点击屏幕,而不是潜在的隐藏表单。

希望有人能在这里为我指出正确的方向。

在一个窗口中模拟鼠标 - C#

如果你真的强调"鼠标模拟"。Autoit是一个不错的选择。- 一种类似BASIC的免费脚本语言,旨在自动化Windows GUI和通用脚本
语法简洁易学。免费的自动化编辑器可以生成exe,您可以在应用程序中执行它。

示例 1:模拟单击特定坐标:

MouseClick ( "button" [, x, y [, clicks [, speed]]] )

http://www.autoitscript.com/autoit3/docs/functions/MouseClick.htm

示例 2:模拟单击按钮

ControlClick ("My Window", "", "[CLASS:Button; TEXT:Finish; INSTANCE:2]")

http://www.autoitscript.com/autoit3/docs/functions/ControlClick.htm

如果您真的想要在您的应用程序中进行鼠标模拟,我认为没有任何解决方法最终不会通过 WinAPI 发送鼠标事件。

SendMessage 和 PostMessage 应该适用于隐藏的表单,将它们与WM_MOUSEXXXX代码一起使用,并在 wp 或 lp 参数中提供鼠标位置,我忘记了哪个。