如何灵活移动鼠标

How Do I move my mouse with flexible speed

我读了一些关于 pywin32 的文章,它让你有可能将光标从一个点移动到另一个点。

如何单击一个点并以特定速度将其移动到另一个方向,而光标 "jumping" 不指向该方向? 我想要一个结果,您可以看到它通过了哪些分数。

OS 是 Windows。

假设你有两个点,一个起点和一个终点;你可以计算它们之间的直线方程,然后多次调用 win32api.SetCursorPos 来设置运动动画。

import win32api, time

def moveFromTo(p1, p2):
    # slope of our line
    m = (p2[1] - p1[1]) / (p2[0] - p1[0])
    # y intercept of our line
    i = p1[1] - m * p1[0]
    # current point
    cP = p1
    # while loop comparison
    comp = isGreater
    # moving left to right or right to left
    inc = -1
    # switch for moving to right
    if (p2[0] > p1[0]):
        comp = isLess
        inc = 1
    # move cursor one pixel at a time
    while comp(cP[0],p2[0]):
        win32api.SetCursorPos(cP)
        cP[0] += inc
        # get next point on line
        cP[1] = m * cP[0] + i
        # slow it down
        time.sleep(0.01)

def isLess(a,b):
    return a < b
def isGreater(a,b):
    return a > b

moveFromTo([500,500],[100,100])