這是一份來自網絡的代碼,經過了我的修改和驗證。
首先我的運作環境是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?期待…
到此這篇關于Python自動登入QQ的實作示例的文章就介紹到這了,更多相關Python自動登入QQ内容請搜尋python部落格以前的文章或繼續浏覽下面的相關文章希望大家以後多多支援python部落格!