我知道围绕这个主题有一些问题,但我想问的问题有点具体:
是否存在模拟鼠标移动的其他方法,而不是在整个地方投掷WinAPI调用?如果是的话,与在我自己的班级中包装这些电话相比,它有什么好处吗?
对于记录:通过“鼠标移动”,我指的是所有点击和重新定位,最好是但不是绝对必要的,光标在位置之间移动的可见动画。
答案 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()的按钮。