Home Page
Search
\begin{md} # 鼠标键盘控制程序例子 有些时候,需要用鼠标键盘来进行一些重复的操作,比如对屏幕上的几个点的循环快速点击,这种工作如果使用脚本来进行的话可以节省大量的时间。那么,一个进行这个工作的脚本需要哪些功能呢? 1. 获取屏幕上任何一个点的位置,为了能够在实现模拟点击的时候定位位置 2. 模拟点击 3. 模拟键盘输入 4. 监控机制,可以通过键盘输入某个键(比如 q)来退出程序或者通过某个键来进行操作 ## 代码 ```python import pyautogui import keyboard import time import sys flags = { 'print_pos_flag' : False, 'click_op_flag' : False, 'exit_flag' : False, } keymap = { 'q' : ['exit_flag', True], '1' : ['print_pos_flag', True], '2' : ['print_pos_flag', False], '3' : ['click_op_flag', True], '4' : ['click_op_flag', False], } def key_cmd(x): global flags global keymap if x.event_type == 'down': op_list = keymap.get(x.name) if not op_list: print("unregister key") else: flags[op_list[0]] = op_list[1] else: pass def print_pos(): print(pyautogui.position()) time.sleep(1) def click_op(): print('click_op') x1, y1 = 912, 127 x2, y2 = 1252, 241 pyautogui.moveTo(x1, y1) pyautogui.click() time.sleep(0.2) pyautogui.moveTo(x2, y2) pyautogui.click() def main(): keyboard.hook(key_cmd) while True: if flags['exit_flag']: break elif flags['print_pos_flag']: print_pos() elif flags['click_op_flag']: click_op() else: pass main() ``` ## 说明 pyautogui 是一个可以模拟鼠标键盘操作的库,没有监听鼠标键盘操作得功能。keyboard 是一个可以监听键盘事件的库。 \end{md}
Home Page