admin管理员组

文章数量:1646328

Python自动登录QQ

这是一份来自网络的代码,经过了我的修改和验证。
首先我的运行环境是Python3.7,需要安装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('"C:\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]+112)
	
	#按下鼠标再释放
	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)
	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)


if __name__ == "__main__":
	fn = "qq.txt"
	F = open(fn,"r").readlines()
	for i in F:
		tx = i.split('----')
		print (tx[0])#打印用户名
		print (tx[1])#打印密码
		QQ(tx[0],tx[1])
	

上面就是自动登录QQ的代码了,但是批量登录的时候还是有问题,因为登录了一个之后,再次打开登录窗口,会记录下上次登录的用户名,导致再次登录新号时失败!

不知到你有没有可行的解决方案,能批量登录QQ?期待…

一个开卷有益的公众平台:IT平头哥

本文标签: 自动登录Pythonqq