我正在尝试开发一个小鼠标控制器应用程序。它应该得到(X,Y)坐标并使光标移到那里。在
问题是,当它试图转到比当前坐标小的X坐标时。在import win32con
from win32api import GetCursorPos, SetCursorPos, mouse_event, GetSystemMetrics
from time import sleep
def clickWithCursor(xDesired, yDesired):
xCurrent, yCurrent = GetCursorPos()
slope = float(yDesired - yCurrent) / float(xDesired - xCurrent)
def goAhead(x, y):
for x in range(min(xCurrent, xDesired), max(xDesired, xCurrent), 2):
y = int(slope * (x - xCurrent) + yCurrent)
SetCursorPos((int(x), y))
sleep(0.002)
mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
return goAhead(0, 0)
def main():
clickWithCursor(243, 184)
main()
以上只是一个非常糟糕的尝试,没有给我的结果,我正在寻找。我到处找怎么做,就是找不到正确的方法。在
简而言之,我想构造一个列表,这样它就可以根据参数的顺序从大到小,或者从小到大
所以,如果我给出范围(4,1)我想要得到的结果是:[4,3,2]或者范围(1,4),它不会介意并以正确的方式构造它。。。在
编辑:
我根据答案重构了代码,让其他用户更容易阅读。注意MouseController类中的“sequence”方法:
^{pr2}$