# -*- coding:utf-8 -*-
import cv2
import numpy as np
import win32api
import win32gui
import win32con
from PIL import ImageGrab
import time
import random
import sys
import pyautogui
import autopy
import pyperclip
# 窗體標題 用於定位窗體
WINDOW_TITLE = "窗口名" #可以是QQ聊天窗口
# 獲取窗體坐標位置
def getGameWindow():
# FindWindow(lpClassName=None, lpWindowName=None) 窗口類名 窗口標題名
window = win32gui.FindWindow(None, WINDOW_TITLE)
# 沒有定位到窗體
while not window:
print('獲取窗口失敗,10秒后重新嘗試')
time.sleep(10)
window = win32gui.FindWindow(None, WINDOW_TITLE)
# 定位到窗體
# 置頂窗口
win32gui.SetForegroundWindow(window)
pos = win32gui.GetWindowRect(window)
print("Game windows at " + str(pos))
return (pos[0], pos[1])
def write():
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)
def keybd_event(VK_CODE): #VK_CODE為鍵盤編碼
# @Keyboard
# input
VK_CODE = int(VK_CODE)
win32api.keybd_event(VK_CODE, 0, 0, 0)
win32api.keybd_event(VK_CODE, 0, win32con.KEYEVENTF_KEYUP, 0)
time.sleep(2)
def mousemove_click(x,y):
autopy.mouse.smooth_move(x, y)
autopy.mouse.click()
if __name__ == '__main__':
random.seed()
# i. 定位窗體
game_pos = getGameWindow()
print(str(game_pos[0])+"-"+str(game_pos[1]))
# pyautogui.typewrite('啊啊啊啊!', 0.25)
pyperclip.copy('哈哈哈') # 先復制
pyautogui.hotkey('ctrl', 'v') # 再粘貼
# pyautogui.alert('這個消息彈窗是文字+OK按鈕') # 返回OK
# pyautogui.confirm('這個消息彈窗是文字+OK+Cancel按鈕') # 返回OK 或 Cancel
# pyautogui.prompt('這個消息彈窗是讓用戶輸入字符串,單擊OK') # 返回輸入的字符串
# pyautogui.prompt('這個消息彈窗是讓用戶輸入字符串,單擊OK') # 返回輸入的字符串
# keybd_event(13)
# mousemove_click(484,864)