Python---捕捉窗口

摘要:
',0.25)pyperclip。copy#复制pyautogui。热键#,然后粘贴#pyautogui。alert#返回OK#pyautogui。确认#返回OK或取消#pyautogui。提示#返回输入字符串pyautogui。提示#返回输入字符串#keybd_event#mousemove_click

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

免责声明:文章转载自《Python---捕捉窗口》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SPSS Modeler数据挖掘:回归分析极大似然估计思想的最简单解释下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

下载 CentOS 7 镜像文件

简单地说,CentOS建议您使用CentOS的最新版本。在撰写本文时,CentOS的最新版本是7.6。在CentOS 7的新版本发布后,/7/ios/x86_64以下的图像文件自然会成为最新版本。CentOSVault的标题有一段英文,这主要意味着CentOSVault不提供CentOS图像文件下载。建议阅读页脚中提供的链接。以从CentOSVault的美国...

简谈docker-compose内存控制Java问题

最近,我正在整理docker合成内存的问题,并编写了一个模板供您参考。命令:/ceshi/start。Sh#在启动时重新启动脚本:始终#--cpu共享:当cpu资源充足时,设置cpu权重没有意义。只有当容器竞争CPU资源时,#CPU的权重才能使不同容器使用不同数量的CPU。我们可以将其设置为2以获得非常低的权重,但将其设置成0以获得默认值1024。上面写了相...

IntelliJ IDEA 版本控制(svn、git) 修改文件后,所属目录的颜色也变化

IntelliJIDEA的版本控制默认文件已被修改,目录的颜色不会改变,这很不方便。例如,修改方法如下:文件--->设置-->版本控制-->选中“显示更改内容的目录”,效果如下:...

Android Exception 10(server)' ~ Channel is unrecoverably broken and will be disposed!)

08-1119:22:35.028:W/MemoryDealer(2123):madvise(0x43e1600012288,MADV_REMOVE)返回操作不支持传输端点08-1119:22-35.038:W/InputDispatcher(2714):channel'4236b890com.tongyan.activi...

uniapp安卓真机调试提示检测不到手机【解决办法】

以下是具体的解决方案:步骤1:打开、查找、单击并单击7次或更多次,以允许开发人员进行选择。...

安装pygame

在python3中安装pygame库。一段时间后,您可以看到安装成功,并且可以导入pygame...