前言
Windows pywin32允許你像vc一樣的形式來使用python開發win32應用。代碼風格可以類似win32 sdk,也可以類似MFC,由你選擇。如果你仍不放棄vc一樣的代碼過程在python下,這不錯的選擇。
利用pywin32可以自動化進行電腦操作。包括複制粘貼,滑鼠移動,鍵盤輸入等等。
下載下傳連結
一、pywin32常用函數
(1)擷取滑鼠位置
win32api.GetCursorPos()
1
(2)滑鼠左鍵按下
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
(3)滑鼠左鍵放開
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
(4)滑鼠右鍵按下
(5)滑鼠右鍵放開
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
(6)設定滑鼠位置
win32api.SetCursorPos((x, y))
(7)鍵盤輸入事件
win32api.keybd_event(VK_CODE[word], 0, 0, 0)
win32api.keybd_event(VK_CODE[word], 0, win32con.KEYEVENTF_KEYUP, 0)
2
二、封裝接口
(1)擷取目前滑鼠位置
def cursor_point(self):
"""
擷取目前滑鼠位置
pos = win32api.GetCursorPos()
return int(pos[0]), int(pos[1])
3
4
5
6
(2)滑鼠左擊事件
def mouse_left_click(self, new_x=None, new_y=None, times=1):
滑鼠左擊事件
:param new_x: 新移動的坐标x軸坐标
:param new_y: 新移動的坐标y軸坐标1506240215
:param times: 點選次數
self.mouse_move(new_x, new_y)
time.sleep(0.05)
while times:
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
times -= 1
7
8
9
10
11
12
13
(3)滑鼠右擊事件
def mouse_right_click(self, new_x=None, new_y=None):
"""
滑鼠右擊事件
:param new_x: 新移動的坐标x軸坐标
:param new_y: 新移動的坐标y軸坐标
self.mouse_move(new_x, new_y)
time.sleep(0.05)
(4)移動滑鼠位置
def mouse_move(self, new_x, new_y):
if new_y is not None and new_x is not None:
point = (new_x, new_y)
win32api.SetCursorPos(point)
self.x = new_x
self.y = new_y
(5)鍵盤輸入文本
def key_input(self, input_words=''):
for word in input_words:
win32api.keybd_event(VK_CODE[word], 0, 0, 0)
win32api.keybd_event(VK_CODE[word], 0, win32con.KEYEVENTF_KEYUP, 0)
time.sleep(0.1)
(6)鍵盤輸入事件
def key_even(self, input_key):
win32api.keybd_event(VK_CODE[input_key], 0, 0, 0)
win32api.keybd_event(VK_CODE[input_key], 0, win32con.KEYEVENTF_KEYUP, 0)
time.sleep(1)