Python---捕捉窗口


# -*- 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)
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM