sorrya0 sorrya0
关注数: 59 粉丝数: 133 发帖数: 4,308 关注贴吧数: 157
鼠标位置 为什么不是我设置的位置!????而是跟随物理鼠标跑 import win32gui import win32con import win32api import time import os #需要用到pywin32的库 times = 6 wdname = u'Albion Online Client' # 窗口名 handle = win32gui.FindWindow(0, wdname) # 窗口句柄 print('窗口名和窗口句柄', wdname, handle) if handle == 0: for i in range(10): print("没有获取到《Albion Online Clinet》窗口") else: left, top, right, bot = win32gui.GetWindowRect(handle) # 窗口所在位置的坐标 for t in range(5): times -= 1 print('将在倒数%d秒后点击现在鼠标所在Albion的位置' % times) tempt = win32api.GetCursorPos() # 记录鼠标所处位置的坐标 windowRec = win32gui.GetWindowRect(handle) # 目标子句柄窗口的坐标 x = tempt[0] - windowRec[0] # 计算相对x坐标 y = tempt[1] - windowRec[1] # 计算相对y坐标 print('坐标为', x, y) time.sleep(1) # 每1s输出一次 def doClick(cx, cy):#点击坐标 print('点击',cx,cy,'坐标') long_position = win32api.MAKELONG(cx, cy) # 模拟鼠标指针 传送到指定坐标 win32api.SendMessage(handle, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, long_position) # 模拟鼠标按下 win32api.SendMessage(handle, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, long_position) # 模拟鼠标弹起 '测---------------------试' for i in range(5): if x>=left and y>=top and x < right and y < bot: print('5秒后点击坐标',x,y) time.sleep(5) # 每5s输出一次 doClick(x, y) # 可以后台点击但是程序不能最小化 elif x > 9999 and y > 9999: for i in range(10): print('程序不能最小化') break else: for i in range(10): print('鼠标不在Albion界面') break print('程序----------------------结束')
鼠标位置 为什么不是我设置的位置!?而是跟随物理鼠标跑了 import win32gui import win32con import win32api import time import os #需要用到pywin32的库 times = 6 wdname = u'Albion Online Client' # 窗口名 handle = win32gui.FindWindow(0, wdname) # 窗口句柄 print('窗口名和窗口句柄', wdname, handle) if handle == 0: for i in range(10): print("没有获取到《Albion Online Clinet》窗口") else: left, top, right, bot = win32gui.GetWindowRect(handle) # 窗口所在位置的坐标 for t in range(5): times -= 1 print('将在倒数%d秒后点击现在鼠标所在Albion的位置' % times) tempt = win32api.GetCursorPos() # 记录鼠标所处位置的坐标 windowRec = win32gui.GetWindowRect(handle) # 目标子句柄窗口的坐标 x = tempt[0] - windowRec[0] # 计算相对x坐标 y = tempt[1] - windowRec[1] # 计算相对y坐标 print('坐标为', x, y) time.sleep(1) # 每1s输出一次 def doClick(cx, cy):#点击坐标 print('点击',cx,cy,'坐标') long_position = win32api.MAKELONG(cx, cy) # 模拟鼠标指针 传送到指定坐标 win32api.SendMessage(handle, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, long_position) # 模拟鼠标按下 win32api.SendMessage(handle, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, long_position) # 模拟鼠标弹起 '测---------------------试' for i in range(5): if x>=left and y>=top and x < right and y < bot: print('5秒后点击坐标',x,y) time.sleep(5) # 每5s输出一次 doClick(x, y) # 可以后台点击但是程序不能最小化 elif x > 9999 and y > 9999: for i in range(10): print('程序不能最小化') break else: for i in range(10): print('鼠标不在Albion界面') break print('程序----------------------结束')
1 下一页