溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

利用Python怎么實(shí)現(xiàn)一個(gè)自動登錄TGP功能

發(fā)布時(shí)間:2020-11-30 16:01:06 來源:億速云 閱讀:283 作者:Leah 欄目:開發(fā)技術(shù)

利用Python怎么實(shí)現(xiàn)一個(gè)自動登錄TGP功能?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

#-*- coding: utf-8 -*-
import win32api,win32gui, win32con
import os
import time
#os.startfile('D:\\Program Files\\Tencent\\TGP\\tgp_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ù)窗口句柄使窗口位于焦點(diǎn)位置
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~90
uppercase = dict(zip(range(65,91),[[x,1] for x in range(65,91)]))
#大寫字母對應(yīng)的ascii碼為65~91,對應(yīng)的鍵盤值為小寫字母的鍵盤值加shit
number = 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~58
symbol01 = {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 symbol04
passworddict = {}
passworddict = dict(lowercase.items()+uppercase.items()+number.items()+symbol01.items()+symbol02.items()+symbol03.items()+symbol04.items())
#print passworddict

for 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)
  #模擬賬號中每個(gè)字符的輸入,每次輸入后睡眠0.2s
time.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)登陸

看完上述內(nèi)容,你們掌握利用Python怎么實(shí)現(xiàn)一個(gè)自動登錄TGP功能的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI