您的位置:首页 > 编程语言 > Python开发

python登录QQ 转载

2020-04-01 19:18 1151 查看

每次登录qq写账号密码难受,借大神的代码实现各qq自动登录,以下直接上代码,须提前安装好pyhook和pyuserinput。

#!/usr/bin/python

import os
import time
import win32gui
import win32api
import win32con
import pymouse, pykeyboard
from pymouse import *
from pykeyboard import PyKeyboard
from ctypes import *

def QQ(qq, pwd):
# 运行QQ
os.system('"D:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe"')
time.sleep(5)
# 获取QQ的窗口句柄
# 参数1是类名,参数2是QQ软件的标题
a = win32gui.FindWindow(None, "QQ")
# 获取QQ登录窗口的位置
loginid = win32gui.GetWindowPlacement(a)
print(loginid)
print(loginid[4][0])        #这部分返回的值如下图所示
print(loginid[4][1])

# 定义一个键盘对象
k = PyKeyboard()

# 把鼠标放置到登陆框的输入处
windll.user32.SetCursorPos(loginid[4][0] + 192, loginid[4][1] + 252)    #需要根据自己电脑选择‘192’和‘112’的值,我尝试后选择192和252,刚好定位到账号输入位置

# 按下鼠标再释放
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)  # press mouse
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)  # release mouse

time.sleep(2)
###input username

print(qq)
# 输入用户名
k.type_string(qq)
time.sleep(0.2)
##tab
# 按下tab,切换到输入密码的地方
win32api.keybd_event(9, 0, 0, 0)            #模拟tab键
win32api.keybd_event(9, 0, win32con.KEYEVENTF_KEYUP, 0)
# 按下tab用下面两行也行
# k.press_key(k.tab_key)
# k.release_key(k.tab_key)
# 按下tab用下面一行也行
# k.tap_key(k.tab_key)

# 输入密码
k.type_string(pwd)

# 按下回车
win32api.keybd_event(13, 0, 0, 0)           #模拟回车键
win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)

QQ('*****','*******')  #输入账号密码



pyuserinput安装前需要安装pyhook,而pyhook似乎不能pip安装(或conda安装),我是先下载pyhook安装后,再用conda install pyuserinput命令安装的pyuserinput。
pyhook和pyuserinput的代码参考https://blog.csdn.net/zhusongziye/article/details/79241410
代码转载:https://blog.csdn.net/sessos/article/details/88599210?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

  • 点赞
  • 收藏
  • 分享
  • 文章举报
mr_xinL 发布了13 篇原创文章 · 获赞 0 · 访问量 1270 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: