Python模擬鍵盤輸入自動(dòng)登錄TGP
#-*- 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"騰訊游戲平臺(tái)"
#根據(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)]))
#小寫字母對(duì)應(yīng)的ascii碼為97~122,對(duì)應(yīng)的鍵盤值為65~90
uppercase = dict(zip(range(65,91),[[x,1] for x in range(65,91)]))
#大寫字母對(duì)應(yīng)的ascii碼為65~91,對(duì)應(yīng)的鍵盤值為小寫字母的鍵盤值加shit
number = dict(zip(range(48,58), [[x,0] for x in range(48,58)]))
#print number
#0~9數(shù)字對(duì)應(yīng)的asicc編碼為48~57, 對(duì)應(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鍵,選中賬號(hào)輸入框
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)
#獲取賬號(hào)中對(duì)應(yīng)字符中的對(duì)應(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)
#獲取賬號(hào)中對(duì)應(yīng)字符中的對(duì)應(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)
#模擬賬號(hào)中每個(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)
#獲取賬號(hào)中對(duì)應(yīng)字符中的對(duì)應(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)
#獲取賬號(hào)中對(duì)應(yīng)字符中的對(duì)應(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模擬鍵盤輸入自動(dòng)登錄TGP的詳細(xì)內(nèi)容,更多關(guān)于python 模擬鍵盤輸入的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- python爬取企查查企業(yè)信息之selenium自動(dòng)模擬登錄企查查
- python3定位并識(shí)別圖片驗(yàn)證碼實(shí)現(xiàn)自動(dòng)登錄功能
- Appium+Python實(shí)現(xiàn)簡(jiǎn)單的自動(dòng)化登錄測(cè)試的實(shí)現(xiàn)
- Python內(nèi)置函數(shù)hex()的實(shí)現(xiàn)示例
- Python 實(shí)現(xiàn)自動(dòng)登錄+點(diǎn)擊+滑動(dòng)驗(yàn)證功能
- python自動(dòng)化實(shí)現(xiàn)登錄獲取圖片驗(yàn)證碼功能
- Python 自動(dòng)登錄淘寶并保存登錄信息的方法
- python實(shí)現(xiàn)網(wǎng)站用戶名密碼自動(dòng)登錄功能
- python爬蟲之利用selenium模塊自動(dòng)登錄CSDN
相關(guān)文章
Mac中PyCharm配置Anaconda環(huán)境的方法
這篇文章主要介紹了Mac中PyCharm配置Anaconda環(huán)境的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
在Python的框架中為MySQL實(shí)現(xiàn)restful接口的教程
這篇文章主要介紹了在Python的框架中為MySQL實(shí)現(xiàn)restful接口的教程,文中的示例基于Flask和Django框架,需要的朋友可以參考下2015-04-04
Django 實(shí)現(xiàn)xadmin后臺(tái)菜單改為中文
今天小編就為大家分享一篇Django 實(shí)現(xiàn)xadmin后臺(tái)菜單改為中文,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
Python文件讀取read()?readline()?readlines()函數(shù)使用場(chǎng)景技巧示例
這篇文章主要介紹了Python文件讀取read() readline()及readlines()函數(shù)使用場(chǎng)景技巧示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
用Python制作檢測(cè)Linux運(yùn)行信息的工具的教程
這篇文章主要介紹了用Python制作檢測(cè)Linux運(yùn)行信息的工具的教程,主要是用CPython讀取運(yùn)行系統(tǒng)的硬件參數(shù)、網(wǎng)絡(luò)傳輸流量統(tǒng)計(jì)等,需要的朋友可以參考下2015-04-04
django中的auth模塊與admin后臺(tái)管理方法
這篇文章主要介紹了django中的auth模塊與admin后臺(tái)管理方法,包括auth模塊的常用方法及如何擴(kuò)展auth_user表,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
python安裝whl包并解決依賴關(guān)系的實(shí)現(xiàn)
本文主要介紹了python安裝whl包并解決依賴關(guān)系的實(shí)現(xiàn),文中通過圖文示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02

