Python模擬鍵盤輸入自動登錄TGP
#-*- coding: utf-8 -*-import win32api,win32gui, win32conimport osimport time#os.startfile(’D:Program FilesTencentTGPtgp_daemon.exe’)#time.sleep(5)label = u'騰訊游戲平臺'#根據(jù)窗口名獲取窗口句柄,h = win32gui.FindWindow(’Edit’,’’)#Ex = win32gui.FindWindowEx(h,None,None,None)#print(h)#print(Ex)win32gui.SetForegroundWindow(h)#根據(jù)窗口句柄使窗口位于焦點位置time.sleep(3)UserNum = 'your id'PassWord = 'your password'lowercase = dict(zip(range(97,123),[[x,0] for x in range(65,91)]))#小寫字母對應(yīng)的ascii碼為97~122,對應(yīng)的鍵盤值為65~90uppercase = dict(zip(range(65,91),[[x,1] for x in range(65,91)]))#大寫字母對應(yīng)的ascii碼為65~91,對應(yīng)的鍵盤值為小寫字母的鍵盤值加shitnumber = dict(zip(range(48,58), [[x,0] for x in range(48,58)]))#print number#0~9數(shù)字對應(yīng)的asicc編碼為48~57, 對應(yīng)的鍵盤值為48~58symbol01 = {32: [32, 0], 33: [49, 1], 34: [222, 1], 35: [51, 1], 36: [52, 1], 37: [53, 1], 38: [55, 1], 39: [222, 0], 40: [57, 1], 41: [48, 1], 42: [56, 1], 43: [187, 1], 44: [188, 0], 45: [189, 0], 46: [190, 0], 47: [191, 0]}symbol02 = {64: [50, 1], 58: [186, 1], 59: [186, 0], 60: [188, 1], 61: [187, 0], 62: [190, 1], 63: [191, 1]}symbol03 = {96: [192, 0], 91: [219, 0], 92: [220, 1], 93: [221, 0], 94: [54, 1], 95: [189, 1]}symbol04 = {123: [219, 1], 124: [220, 1], 125: [221, 1], 126: [192, 1]}#print symbol04passworddict = {}passworddict = dict(lowercase.items()+uppercase.items()+number.items()+symbol01.items()+symbol02.items()+symbol03.items()+symbol04.items())#print passworddictfor i in range(0,1):#模擬輸入tab鍵,選中賬號輸入框 win32api.keybd_event(9,0,0,0) win32api.keybd_event(9,0,win32con.KEYEVENTF_KEYUP,0) time.sleep(0.2)time.sleep(0.5)for i in range(0,12):#刪除輸入框中的字符 win32api.keybd_event(8,0,0,0) win32api.keybd_event(8,0,win32con.KEYEVENTF_KEYUP,0) time.sleep(0.2) for i in range(0,len(UserNum)): key = ord(UserNum[i]) skey = int(passworddict[key][0]) if passworddict[key][1] == 1: win32api.keybd_event(16,0,0,0) #獲取賬號中對應(yīng)字符中的對應(yīng)ascii編碼 win32api.keybd_event(skey,0,0,0) win32api.keybd_event(16,0,win32con.KEYEVENTF_KEYUP,0) win32api.keybd_event(skey,0,win32con.KEYEVENTF_KEYUP,0) else: #win32api.keybd_event(16,0,0,0) #獲取賬號中對應(yīng)字符中的對應(yīng)ascii編碼 win32api.keybd_event(skey,0,0,0) #win32api.keybd_event(16,0,win32con.KEYEVENTF_KEYUP,0) win32api.keybd_event(skey,0,win32con.KEYEVENTF_KEYUP,0) time.sleep(0.2) #模擬賬號中每個字符的輸入,每次輸入后睡眠0.2stime.sleep(0.5)win32api.keybd_event(9,0,0,0)win32api.keybd_event(9,0,win32con.KEYEVENTF_KEYUP,0)#再次模擬tab鍵輸入,選中密碼輸入框time.sleep(0.5)for i in range(0,len(PassWord)): key = ord(PassWord[i]) skey = int(passworddict[key][0]) if passworddict[key][1] == 1: win32api.keybd_event(16,0,0,0) #獲取賬號中對應(yīng)字符中的對應(yīng)ascii編碼 win32api.keybd_event(skey,0,0,0) win32api.keybd_event(16,0,win32con.KEYEVENTF_KEYUP,0) win32api.keybd_event(skey,0,win32con.KEYEVENTF_KEYUP,0) else: #win32api.keybd_event(16,0,0,0) #獲取賬號中對應(yīng)字符中的對應(yīng)ascii編碼 win32api.keybd_event(skey,0,0,0) #win32api.keybd_event(16,0,win32con.KEYEVENTF_KEYUP,0) win32api.keybd_event(skey,0,win32con.KEYEVENTF_KEYUP,0) time.sleep(0.2) ’’’ if ord(PassWord[i])>=97 and ord(PassWord[i])<=122: key = ord(PassWord[i])-32 elif ord(PassWord[i]) == 64: win32api.keybd_event(16,0,0,0) win32api.keybd_event(50,0,0,0) win32api.keybd_event(16,0,win32con.KEYEVENTF_KEYUP,0) win32api.keybd_event(50,0,win32con.KEYEVENTF_KEYUP,0) continue else: key = ord(PassWord[i]) win32api.keybd_event(key,0,0,0) win32api.keybd_event(key,0,win32con.KEYEVENTF_KEYUP,0) time.sleep(0.2) ’’’ win32api.keybd_event(13,0,0,0)win32api.keybd_event(13,0,win32con.KEYEVENTF_KEYUP)#模擬輸入enter鍵,確認(rèn)登陸
以上就是Python模擬鍵盤輸入自動登錄TGP的詳細(xì)內(nèi)容,更多關(guān)于python 模擬鍵盤輸入的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 解決Python 進程池Pool中一些坑2. 三個不常見的 HTML5 實用新特性簡介3. Python獲取抖音關(guān)注列表封號賬號的實現(xiàn)代碼4. Python使用jupyter notebook查看ipynb文件過程解析5. ajax請求添加自定義header參數(shù)代碼6. python利用os模塊編寫文件復(fù)制功能——copy()函數(shù)用法7. Python如何讀寫CSV文件8. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究9. php測試程序運行速度和頁面執(zhí)行速度的代碼10. 無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁
