电脑上控制所有软件,比如说微信自动发消息,QQ

简介: 电脑上控制所有软件,比如说微信自动发消息,QQ


1.先上功能,直接自动化发消息

 我们首先需要定位窗口坐标,


import pyautogui as pg
  print(pg.position())
import pyautogui as pg
import pyperclip
import time
time.sleep(5)
msg = "aaa"
pg.click(x=90, y=896)
pyperclip.copy(msg)
pg.hotkey("ctrl","v")
pg.typewrite("\n")

View Code

2.pyperclip基本api(粘贴复制)

import pyperclip
# 复制
pyperclip.copy('Hello world!')
# 粘贴
print(pyperclip.paste())

3.pyautogui基本api(自动,鼠标,键盘,屏幕事件)

3.1定位操作

1、获取屏幕宽高  
screenWidth, screenHeight = pyautogui.size()
屏幕左上开始为(0,0)
2、获取当前鼠标位置
currentMouseX, currentMouseY = pyautogui.position()
onScreen(0, 0)  ,检查是否在屏幕上
3、根据图片定位在图片在屏幕上的中点
x, y = pyautogui.locateCenterOnScreen(r'C:\screenshot.png')

4、 匹配屏幕所有与目标图片的对象,可以用for循环和list()输出
pyautogui.locateAllOnScreen(r'C:\region_screenshot.png')
for pos in pyautogui.locateAllOnScreen(r'C:\\region_screenshot.png'):
  print(pos)

View Code

3.2屏幕操作

1、截取部分屏幕
im = pyautogui.screenshot(r'C:\screenshot.png',region=(0, 0, 300, 400)) # 截屏并设置保存图片的位置和名称

2、 匹配屏幕所有与目标图片的对象,可以用for循环和list()输出
pyautogui.locateAllOnScreen(r'C:\region_screenshot.png')
for pos in pyautogui.locateAllOnScreen(r'C:\\region_screenshot.png'):
  print(pos)

3、获取屏幕点色彩属性值
pix = pyautogui.screenshot().getpixel((x, y))  #0,1,2=rgb

4、灰度值匹配
pyautogui.pixelMatchesColor(100, 200, (205, 255, 245), tolerance=10)

View Code

3.3鼠标操作

1、鼠标移动
pyautogui.moveTo(100, 150)  #绝对位置 
pyautogui.moveRel(None, 10) #相对位置
pyautogui.moveTo(500, 500, duration=2, tween=pyautogui.easeInOutQuad)  # 2秒带动画移动到500,500

2、鼠标点击
pyautogui.click()  单击
pyautogui.click(x=100, y=200) # 
pyautogui.doubleClick()  双击
pyautogui.rightClick()  单击鼠标右键
pyautogui.middleClick() 单击鼠标中键
pyautogui.click(button='right', clicks=3, interval=0.25) 
3、鼠标拖动
pyautogui.dragTo(x,y[,duration=t)  
pyautogui.dragRel(x,y, duration=0.5)  按住左键移动
4、鼠标滚动
pyautogui.scroll(10)  / -10  # 正数向上/下滚动
pyautogui.hscroll(10)  / -10 #  向右/左滚动

View Code

3.4鼠标移动例子

import pyautogui,time
screenWidth, screenHeight = pyautogui.size()
pyautogui.moveTo(screenWidth / 2, screenHeight / 2)
distance = 200
while distance > 0:
        pyautogui.dragRel(distance, 0, duration=0.5)   # move right
        distance -= 5
        pyautogui.dragRel(0, distance, duration=0.5)   # move down
        pyautogui.dragRel(-distance, 0, duration=0.5)  # move left
        distance -= 5
        pyautogui.dragRel(0, -distance, duration=0.5)  # move up

View Code

3.5键盘操作

pyautogui.typewrite('Hello world!', interval=0.25) #模拟输入
typewrite(['enter']) 
pyautogui.typewrite(['a','b','left','left','X','Y']) # XYab
pyautogui.press('esc')
pyautogui.keyDown('shift')
pyautogui.press(['left', 'left', 'left', 'left', 'left', 'left']) 连续按键left
pyautogui.keyUp('shift')
pyautogui.hotkey('ctrl', 'c')   # 组合键

View Code

3.6键盘键说明

键盘键字符串                        含义
'a','b','c','A','C','1','2','3',    单个字符的键
'!','@','#'等
'enter'                             回车
‘esc'                              ESC键
'shiftleft','shiftright'            左右Shift键
'altleft','altright'                左右Alt键
'ctrlleft','ctrlright'              左右Ctrl键
‘tab'(or '\t')                     Tab键
'backspace','delete'                Backspace键和Delete键
'pageup','pagedown'                 Page Up 和Page Down键
'home','end'                        Home键和End键
'up','down','left','right'          上下左右箭头键
'f1','f2','f3'等                    F1至F12键
'volumemute','volumeup',volumedown' 静音,放大音量和减小音量键
'pause'                             暂停键
'capslock','numlock','scrolllock'   Caps Lock,Num Lock和 Scroll Lock键
'insert'                            Insert键
'printscreen'                       Prtsc或Print Screen键
'winleft','winright'                左右Win键(在windows上)
'command'                           Command键(在OS X上)
'option'                            Option键(在OS X上)
目录
打赏
0
0
0
0
100
分享
相关文章
【够用就好003】发布人生第二款软件pc微信多开
发布人生第二款软件pc微信多开,在deepseek和豆包的帮助下封装了这个微信多开小工具。
LangBot:无缝集成到QQ、微信等消息平台的AI聊天机器人平台
LangBot 是一个开源的多模态即时聊天机器人平台,支持多种即时通信平台和大语言模型,具备多模态交互、插件扩展和Web管理面板等功能。
402 14
LangBot:无缝集成到QQ、微信等消息平台的AI聊天机器人平台
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
AstrBot 是一个开源的多平台聊天机器人及开发框架,支持多种大语言模型和消息平台,具备多轮对话、语音转文字等功能。
2628 15
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
社交软件红包技术解密(六):微信红包系统的存储层架构演进实践
微信红包本质是小额资金在用户帐户流转,有发、抢、拆三大步骤。在这个过程中对事务有高要求,所以订单最终要基于传统的RDBMS,这方面是它的强项,最终订单的存储使用互联网行业最通用的MySQL数据库。支持事务、成熟稳定,我们的团队在MySQL上有长期技术积累。但是传统数据库的扩展性有局限,需要通过架构解决。
69 18
|
1月前
|
社交软件红包技术解密(四):微信红包系统是如何应对高并发的
本文将为读者介绍微信百亿级别红包背后的高并发设计实践,内容包括微信红包系统的技术难点、解决高并发问题通常使用的方案,以及微信红包系统的所采用高并发解决方案。
84 13
|
1月前
|
社交软件红包技术解密(五):微信红包系统是如何实现高可用性的
本次分享介绍了微信红包后台系统的高可用实践经验,主要包括后台的 set 化设计、异步化设计、订单异地存储设计、存储层容灾设计与平行扩缩容等。听众可以了解到微信红包后台架构的设计细节,共同探讨高可用设计实践上遇到的问题与解决方案。
55 5
即时通讯技术文集(第45期):微信、QQ技术精华合集(Part2) [共14篇]
为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第45 期。
59 3
即时通讯技术文集(第44期):微信、QQ技术精华合集(Part1) [共14篇]
为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第44 期。
47 2
仿青藤之恋社交交友软件系统源码 即时通讯 聊天 微信小程序 App H5三端通用
仿青藤之恋社交交友软件系统源码 即时通讯 聊天 微信小程序 App H5三端通用
160 3
|
3月前
|
社交软件红包技术解密(三):微信摇一摇红包雨背后的技术细节
本文将由微信团队工程师张文瑞分享微信春节摇一摇红包技术背后的方方面面,希望能给同行们带来启发。
113 1

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等