每次登录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