本文整理汇总了Python中win32api.mouse_event方法的典型用法代码示例。如果您正苦于以下问题:Python win32api.mouse_event方法的具体用法?Python win32api.mouse_event怎么用?Python win32api.mouse_event使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类win32api
的用法示例。
在下文中一共展示了win32api.mouse_event方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: mouse_drag
# 需要导入模块: import win32api [as 别名]
# 或者: from win32api import mouse_event [as 别名]
def mouse_drag(self, pos1, pos2):
"""
鼠标拖拽
:param pos1: (x,y) 起点坐标
:param pos2: (x,y) 终点坐标
"""
pos1_s = win32gui.ClientToScreen(self.hwnd, pos1)
pos2_s = win32gui.ClientToScreen(self.hwnd, pos2)
screen_x = win32api.GetSystemMetrics(win32con.SM_CXSCREEN)
screen_y = win32api.GetSystemMetrics(win32con.SM_CYSCREEN)
start_x = pos1_s[0]*65535//screen_x
start_y = pos1_s[1]*65535//screen_y
dst_x = pos2_s[0]*65535//screen_x
dst_y = pos2_s[1]*65535//screen_y
move_x = np.linspace(start_x, dst_x, num=20, endpoint=True)[0:]
move_y = np.linspace(start_y, dst_y, num=20, endpoint=True)[0:]
self.mouse_move(pos1)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
for i in range(20):
x = int(round(move_x[i]))
y = int(round(move_y[i]))
win32api.mouse_event(win32con.MOUSEEVENTF_MOVE |
win32con.MOUSEEVENTF_ABSOLUTE, x, y, 0, 0)
time.sleep(0.01)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
示例2: sample_one_person
# 需要导入模块: import win32api [as 别名]
# 或者: from win32api import mouse_event [as 别名]
def sample_one_person(n, num_x=5, num_y=5):
save_path = 'D:/UnityEyes_Windows/imgs'
if os.path.exists(save_path) == False:
os.mkdir(save_path)
# reset
win32gui.SendMessage(handle, win32con.WM_ACTIVATE, win32con.WA_ACTIVE, 0)
center_x = (clt_left + clt_right) // 2
center_y = (clt_top + clt_bottom) // 2
win32api.SetCursorPos([center_x, center_y])
# press 'L'
win32api.keybd_event(KEY_LIGHT, 0, 0, 0) # key down
time.sleep(1)
win32api.keybd_event(KEY_LIGHT, 0, win32con.KEYEVENTF_KEYUP, 0) # key up
# press 'R'
win32api.keybd_event(KEY_RANDOM, 0, 0, 0) # key down
time.sleep(1)
win32api.keybd_event(KEY_RANDOM, 0, win32con.KEYEVENTF_KEYUP, 0) # key up
# number of points for vertical and horizontal
# num_x, num_y = 5, 5
step_x, step_y = width // (num_x + 1), height // (num_y + 1)
for i in range(1, num_y+1):
for j in range(1, num_x+1):
x = clt_left + j * step_x
y = clt_top + i * step_y
print('{},{}'.format(x, y))
win32api.mouse_event(win32con.MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0)
win32api.SetCursorPos([x, y])
win32api.mouse_event(win32con.MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0)
time.sleep(0.5)
win32api.keybd_event(KEY_SAVE, 0, 0, 0) # key down
win32api.keybd_event(KEY_SAVE, 0, win32con.KEYEVENTF_KEYUP, 0) # key up
示例3: tap
# 需要导入模块: import win32api [as 别名]
# 或者: from win32api import mouse_event [as 别名]
def tap(self, x, y):
if self.run_time.stop:
return
x, y = int(x), int(y)
self.root.debug("Tapping at location ({},{})".format(x, y))
if self._debug:
# Helper to debug taps
input("waiting for confirmation press enter")
ox, oy = win32api.GetCursorPos()
curr_window = win32gui.GetForegroundWindow()
win32gui.ShowWindow(self.win_handle, win32con.SW_RESTORE)
x, y = int(x), int(y)
cx, cy = win32gui.ClientToScreen(self.win_handle, (x, y))
x, y = self.__calculate_absolute_coordinates__(cx, cy)
win32api.mouse_event(win32con.MOUSEEVENTF_MOVE | win32con.MOUSEEVENTF_ABSOLUTE,
x, y, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, x, y, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, x, y, 0, 0)
time.sleep(20 / 1000)
win32api.SetCursorPos((ox, oy))
win32gui.SetActiveWindow(curr_window)
示例4: mouse_click
# 需要导入模块: import win32api [as 别名]
# 或者: from win32api import mouse_event [as 别名]
def mouse_click(x=None, y=None):
"""
模拟鼠标点击
:param x: int, 鼠标点击位置横坐标
:param y: int, 鼠标点击位置纵坐标
:return: None
"""
if not x is None and not y is None:
mouse_move(x, y)
time.sleep(0.05)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
示例5: mouse_move_relative
# 需要导入模块: import win32api [as 别名]
# 或者: from win32api import mouse_event [as 别名]
def mouse_move_relative(dx, dy):
win32api.mouse_event(win32con.MOUSEEVENTF_MOVE, int(dx), int(dy), 0, 0)
示例6: lmb_down
# 需要导入模块: import win32api [as 别名]
# 或者: from win32api import mouse_event [as 别名]
def lmb_down():
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)
示例7: lmb_up
# 需要导入模块: import win32api [as 别名]
# 或者: from win32api import mouse_event [as 别名]
def lmb_up():
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0)
示例8: rmb_down
# 需要导入模块: import win32api [as 别名]
# 或者: from win32api import mouse_event [as 别名]
def rmb_down():
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0)
示例9: rmb_up
# 需要导入模块: import win32api [as 别名]
# 或者: from win32api import mouse_event [as 别名]
def rmb_up():
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP, 0, 0)
示例10: mouse_pclick
# 需要导入模块: import win32api [as 别名]
# 或者: from win32api import mouse_event [as 别名]
def mouse_pclick(x=None, y=None, press_time=0.0):
"""
模拟式长按鼠标
:param x: int, 鼠标点击位置横坐标
:param y: int, 鼠标点击位置纵坐标
:param press_time: float, 点击时间,单位秒
:return: None
"""
if not x is None and not y is None:
mouse_move(x, y)
time.sleep(0.05)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
time.sleep(press_time)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
示例11: touch
# 需要导入模块: import win32api [as 别名]
# 或者: from win32api import mouse_event [as 别名]
def touch(self, x, y, duration=0.1):
''' Simulate touch '''
(ox, oy) = self.mouseposition() # remember mouse position
x, y = self._resetpt(x, y)
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0)
time.sleep(duration)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0)
win32api.SetCursorPos((ox,oy)) # move back mouse position
示例12: clickMenuButton
# 需要导入模块: import win32api [as 别名]
# 或者: from win32api import mouse_event [as 别名]
def clickMenuButton(hwnd, offset):
left, top, right, bottom = win32gui.GetWindowRect(hwnd)
win32api.SetCursorPos([left + offset, (bottom - top) // 2 + top])
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
time.sleep(0.1)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
time.sleep(0.3)
示例13: autoRelease
# 需要导入模块: import win32api [as 别名]
# 或者: from win32api import mouse_event [as 别名]
def autoRelease(result,game_x,game_y):
for i in range(0,len(result)):
for j in range(0,len(result[0])):
# 以上两个for循环,定位第一个选中点
if result[i][j] != 0:
for m in range(0,len(result)):
for n in range(0,len(result[0])):
if result[m][n] != 0:
# 后两个for循环定位第二个选中点
if matching.canConnect(i,j,m,n,result):
# 执行消除算法并返回
result[i][j] = 0
result[m][n] = 0
print('可消除点:'+ str(i+1) + ',' + str(j+1) + '和' + str(m+1) + ',' + str(n+1))
x1 = game_x + j*SQUARE_WIDTH
y1 = game_y + i*SQUARE_HEIGHT
x2 = game_x + n*SQUARE_WIDTH
y2 = game_y + m*SQUARE_HEIGHT
win32api.SetCursorPos((x1 + 15,y1 + 18))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, x1+15, y1+18, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, x1+15, y1+18, 0, 0)
time.sleep(TIME_INTERVAL)
win32api.SetCursorPos((x2 + 15, y2 + 18))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, x2 + 15, y2 + 18, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, x2 + 15, y2 + 18, 0, 0)
time.sleep(TIME_INTERVAL)
return True
return False
示例14: _input_left_mouse
# 需要导入模块: import win32api [as 别名]
# 或者: from win32api import mouse_event [as 别名]
def _input_left_mouse(self, x, y):
left, top, right, bottom = self.rect
width, height = right - left, bottom - top
if x < 0 or x > width or y < 0 or y > height:
return
win32gui.SetForegroundWindow(self.hwnd)
pos = win32gui.GetCursorPos()
win32api.SetCursorPos((left+x, top+y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)
win32api.Sleep(100) #ms
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0)
win32api.Sleep(100) #ms
# win32api.SetCursorPos(pos)
示例15: mouse_click
# 需要导入模块: import win32api [as 别名]
# 或者: from win32api import mouse_event [as 别名]
def mouse_click(self):
"""
鼠标单击
"""
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
time.sleep(random.randint(20, 80)/1000)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)