模拟用户鼠标输入的任何其他方法比WinAPI?

时间:2011-01-18 00:19:19

标签: c# winapi mouse

我知道围绕这个主题有一些问题,但我想问的问题有点具体:

是否存在模拟鼠标移动的其他方法,而不是在整个地方投掷WinAPI调用?如果是的话,与在我自己的班级中包装这些电话相比,它有什么好处吗?

对于记录:通过“鼠标移动”,我指的是所有点击和重新定位,最好是但不是绝对必要的,光标在位置之间移动的可见动画。

2 个答案:

答案 0 :(得分:1)

回到DOS编程我已经动态地抓住了在保护模式下你不能以同样方式做的中断,但我很确定DirectInput也有一些与Win32方式不同的函数

有一些替代的输入处理库,我认为SDL有可能并且可能是GLFW,但是将它们添加到项目中进行鼠标处理可能是一个延伸。

更正:SDL在Windows上使用DirectInput。 我不知道你找到.NET比win32更令人满意,但还有另一种方式。我确信我的某个地方有一个书签可以完美地适合= /它在哪里......

.NET方式,如果您已经特别使用.NET,那就不错了: MSDN Reference Page

就点击该解决方案而言,只需向主循环发送消息,或者您已经检测到点击而不是设置鼠标点击。虽然我确信还有其他库具有该功能。

  

更新:查看http://wiki.osdev.org/Mouse_Input以获取有关更直接使用和驱动程序编写的一些信息。事实证明,使用INT 33h也可以在Windows(以及其他更加开发友好的操作系统)下付出一些努力!

答案 1 :(得分:0)

如果您只能模拟单击各种控件,请尝试手动触发控件的Click事件,或者,对于可以使用Control.PerformClick()的按钮。