Winapi VB6-在两点之间平滑移动鼠标指针?

Winapi VB6-在两点之间平滑移动鼠标指针?,winapi,vb6,mouse,Winapi,Vb6,Mouse,自从我做过VB6以来,一直是yonks 我需要控制鼠标指针,并在两点之间平稳移动它 最好的方法是结合使用GetCursorPos、SetCursorPos和一两个计时器,还是有更好的方法 谢谢您的帮助。使用带有计时器的SetCursorPos在两点之间移动光标对我来说是最明智的方式。(为什么需要使用GetCursorPoseven?) 你是否特别希望有另一个解决方案?如果没有WinAPI,您肯定无法执行此任务,但可能还有另一个函数可以完成您想要的任务。如前所述,使用计时器获取/SetCursor

自从我做过VB6以来,一直是yonks

我需要控制鼠标指针,并在两点之间平稳移动它

最好的方法是结合使用
GetCursorPos
SetCursorPos
和一两个计时器,还是有更好的方法


谢谢您的帮助。

使用带有计时器的SetCursorPos在两点之间移动光标对我来说是最明智的方式。(为什么需要使用
GetCursorPos
even?)


你是否特别希望有另一个解决方案?如果没有WinAPI,您肯定无法执行此任务,但可能还有另一个函数可以完成您想要的任务。

如前所述,使用计时器获取/SetCursorPos是一个问题。值得尝试使用计时器周期和位置增量,以获得最大的计时器周期和位置增量,使其能够按照您的要求顺利完成任务,但不能超过此值

分离X和Y的增量,图中移动的距离更大,并用于在点之间绘制不可见线


例如,一个简单的解决方案可能会在每次视频刷新时移动光标不止一次,或者每一步移动不到4个像素,这将是浪费时间

@Noldorin-谢谢,我想我需要GetCursorPos,因为新的光标位置需要相对于当前位置设置。我只是想可能还有一些其他的调用,我可以用它来处理点之间的平滑度。也许是一厢情愿。@Galwegian:没问题。是的,关于GetCursorPos的使用也很公平。可能有一些函数可以平滑地移动光标,但我在WinAPI中没有遇到过它。简单的时间线性插值应该可以很好地完成这项工作。:)Bresenham对于这项任务来说可能有些过分,因为使用浮点值并对其进行四舍五入可能对OP来说不是什么大问题。