Python使用Windows剪下板
阿新 • • 發佈:2019-01-27
1、文字內容
# coding=utf-8 import win32clipboard as w import win32con import win32api def getText(): # 讀取剪下板 w.OpenClipboard() d = w.GetClipboardData(win32con.CF_TEXT) w.CloseClipboard() return d def setText(aString): # 寫入剪下板 w.OpenClipboard() w.EmptyClipboard() w.SetClipboardData(win32con.CF_TEXT, aString) w.CloseClipboard() if __name__ == '__main__': setText("test") # 將“test”寫入剪下板 # 自動貼上剪下板中的內容 win32api.keybd_event(17, 0, 0, 0) # ctrl的鍵位碼是17 win32api.keybd_event(86, 0, 0, 0) # v的鍵位碼是86 win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0) # 釋放按鍵 win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0) win32api.keybd_event(13, 0, 0, 0) # Enter的鍵位碼是13 win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)
2、圖片
# coding=utf-8 import win32con import win32clipboard import win32gui import win32api import traceback from PIL import Image from cStringIO import StringIO def setImage(data): # 寫入剪下板 win32clipboard.OpenClipboard() try: # Unicode tests win32clipboard.EmptyClipboard() win32clipboard.SetClipboardData(win32con.CF_DIB, data) except: traceback.print_exc() finally: win32clipboard.CloseClipboard() if __name__ == '__main__': img = Image.open('test.jpg') output = StringIO() img.convert("RGB").save(output, "BMP") data = output.getvalue()[14:] output.close() setImage(data) pwin = win32gui.FindWindow(None, u'測試') # 獲取視窗控制代碼 win32gui.ShowWindow(pwin, win32con.SW_RESTORE) win32gui.SetActiveWindow(pwin) win32gui.SetForegroundWindow(pwin) rect = win32gui.GetWindowRect(pwin) # 獲取視窗位置 x = (rect[0] + rect[2]) / 2 y = rect[3] - 50 win32api.SetCursorPos((x, y)) # 設定滑鼠位置 win32api.mouse_event(0x0002, 0, 0, 0, 0) # 模擬滑鼠按下 win32api.mouse_event(0x0004, 0, 0, 0, 0) # 模擬滑鼠彈起 win32api.keybd_event(win32con.VK_CONTROL, 0, 0, 0) # ctrl的鍵位碼是17 win32api.keybd_event(86, 0, 0, 0) # v的鍵位碼是86 win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0) # 釋放按鍵 win32api.keybd_event(win32con.VK_CONTROL, 0, win32con.KEYEVENTF_KEYUP, 0) # 釋放按鍵 win32api.keybd_event(13, 0, 0, 0) # Enter的鍵位碼是13 win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0) # 釋放按鍵