PyUserInput模拟鼠标和键盘模拟--QQ自动登录

一、PyUserInput安装
python3.5的PyMouse和PyKeyboard模块都集成到了PyUserInput模块中。在python3.5中,直接安装PyUserInput模块即可

PyUserInput模块安装前需要安装pywin32和pyHook模块
pywin32模块默认已安装

pyHook模块可从这里下载
http://www.lfd.uci.edu/~gohlke/pythonlibs/
//在python官网找了很多个pyHook都不适用于python3.5版本

PyUserInput模块
https://github.com/PyUserInput/PyUserInput

二、使用方法
//导入模块

import pymouse,pykeyboard,os,sys
from pymouse import *
from pykeyboard import PyKeyboard
1
2
3
//分别定义一个实例
m = PyMouse()
k = PyKeyboard()

鼠标操作:
m.click(x,y,button,n) –鼠标点击
x,y –是坐标位置
buttong –1表示左键,2表示点击右键
n –点击次数,默认是1次,2表示双击

m.move(x,y) –鼠标移动到坐标(x,y)

x_dim, y_dim = m.screen_size() –获得屏幕尺寸

键盘操作:

k.type_string(‘Hello, World!’) –模拟键盘输入字符串
k.press_key(‘H’) –模拟键盘按H键
k.release_key(‘H’) –模拟键盘松开H键
k.tap_key(“H”) –模拟点击H键
k.tap_key(‘H’,n=2,interval=5) –模拟点击H键,2次,每次间隔5秒
k.tap_key(k.function_keys[5]) –点击功能键F5
k.tap_key(k.numpad_keys[5],3) –点击小键盘5,3次

联合按键模拟
例如同时按alt+tab键盘
k.press_key(k.alt_key) –按住alt键
k.tap_key(k.tab_key) –点击tab键
k.release_key(k.alt_key) –松开alt键

QQ 自动登录,发消息,发送截图:
#coding=utf-8
import os
import time
from win32 import win32gui
from win32 import win32api
from win32 import win32console
from win32 import win32process
#from win32 import win32con
import pymouse,pykeyboard
from pymouse import *
from pykeyboard import PyKeyboard

from ctypes import *
def qqlogin(qq,pwd):

m = PyMouse()
k = PyKeyboard()
#a = win32gui.FindWindow(None, “QQ”)
#运行QQ
os.system(’“C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe”’)
time.sleep(5)
a= win32gui.FindWindow(None,“QQ”) # 获取窗口的句柄,参数1: 类名,参数2: 标题QQ
thread,processId =win32process.GetWindowThreadProcessId(a)

loginid= win32gui.GetWindowPlacement(a)

m.click(loginid[4][0]+300, loginid[4][1]+260,1,1)
k.tap_key(k.backspace_key)
time.sleep(1)
###输入账号
k.type_string(qq)
time.sleep(3)
##tab切换
k.tap_key(k.tab_key)

k.type_string(pwd)
#点击回车键登录
k.tap_key(k.enter_key)
#等待QQ登陆
time.sleep(10)

b= win32gui.FindWindow(“TXGuiFoundation”,“QQ”)
loginidb= win32gui.GetWindowPlacement(b)
print (b)
print (loginidb)
if a==b:
print (“QQ login unsuccess”)
else:
print (“QQ login success”)
windll.user32.SetCursorPos(loginidb[4][0]+100, loginidb[4][1]+90 )
print (win32gui.GetCursorPos())
m.click(loginidb[4][0]+100, loginidb[4][1]+90,1,1)
time.sleep(1)
###输入QQ签名
k.type_string(“login success”)
k.tap_key(k.enter_key)
#退出QQ
thread,processId =win32process.GetWindowThreadProcessId(b)
os.system(‘TASKKILL /PID %d /F’ %processId)
k.tap_key(k.tab_key)
time.sleep(1)
#自动发消息对象
k.type_string(“695374133”)
time.sleep(1)
k.tap_key(k.enter_key)
#QQ发送聊天内容
k.type_string(“qq message send”)
time.sleep(1)
k.tap_key(k.enter_key)#避免输入法干扰
k.tap_key(k.enter_key)#发送消息
time.sleep(2)
#发送QQ截图内容
k.press_key(k.control_key)
k.press_key(k.alt_key)
k.tap_key(“a”)
k.release_key(k.control_key)
k.release_key(k.alt_key)
m.click(loginid[4][0]+300, loginid[4][1]+260,1,2)
k.tap_key(k.enter_key)
print(‘finish!!!’)
thread,processId =win32process.GetWindowThreadProcessId(b)
#os.system(‘TASKKILL /PID %d /F’ %processId)
#读取账号密码文件例如: 1234567----she123456 #账号密码四个- 分隔
fn = “d:\qq.txt” #此文件可以自定义,但是路径要一定对
#打开账号密码文件
F = open(fn,“r”).readlines()
#分隔账号密码,传两个参数,账号密码
for i in F:
tx = i.split("----")
qqlogin(tx[0],tx[1])

有疑问联系QQ:1943026585

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值