Python模拟键盘输入自动登录TGP


Posted in Python onNovember 27, 2020
#-*- 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"腾讯游戏平台"
#根据窗口名获取窗口句柄,
h = win32gui.FindWindow('Edit','')
#Ex = win32gui.FindWindowEx(h,None,None,None)
#print(h)
#print(Ex)
win32gui.SetForegroundWindow(h)
#根据窗口句柄使窗口位于焦点位置
time.sleep(3)
UserNum = "your id"
PassWord = "your password"

lowercase = dict(zip(range(97,123),[[x,0] for x in range(65,91)]))
#小写字母对应的ascii码为97~122,对应的键盘值为65~90
uppercase = dict(zip(range(65,91),[[x,1] for x in range(65,91)]))
#大写字母对应的ascii码为65~91,对应的键盘值为小写字母的键盘值加shit
number = dict(zip(range(48,58), [[x,0] for x in range(48,58)]))
#print number
#0~9数字对应的asicc编码为48~57, 对应的键盘值为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) 
    #获取账号中对应字符中的对应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) 
    #获取账号中对应字符中的对应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.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)
    #获取账号中对应字符中的对应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)
    #获取账号中对应字符中的对应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键,确认登陆

以上就是Python模拟键盘输入自动登录TGP的详细内容,更多关于python 模拟键盘输入的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python 查看文件的编码格式方法
Dec 21 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
Oct 11 Python
flask session组件的使用示例
Dec 25 Python
用Python实现将一张图片分成9宫格的示例
Jul 05 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
Aug 13 Python
python 通过视频url获取视频的宽高方式
Dec 10 Python
Python谱减法语音降噪实例
Dec 18 Python
python获取网络图片方法及整理过程详解
Dec 20 Python
Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例
Mar 04 Python
Python代码一键转Jar包及Java调用Python新姿势
Mar 10 Python
keras小技巧——获取某一个网络层的输出方式
May 23 Python
Python 数据可视化之Bokeh详解
Nov 02 Python
python操作toml文件的示例代码
Nov 27 #Python
Python GUI库Tkiner使用方法代码示例
Nov 27 #Python
Python爬虫爬取有道实现翻译功能
Nov 27 #Python
python爬虫中采集中遇到的问题整理
Nov 27 #Python
python 用opencv实现图像修复和图像金字塔
Nov 27 #Python
Python函数调用追踪实现代码
Nov 27 #Python
Numpy中np.max的用法及np.maximum区别
Nov 27 #Python
You might like
for循环连续求和、九九乘法表代码
2012/02/20 PHP
PHP面向对象精要总结
2014/11/07 PHP
ecshop添加菜单及权限分配问题
2017/11/21 PHP
laravel框架模型、视图与控制器简单操作示例
2019/10/10 PHP
jquery ajax提交整个表单元素的快捷办法
2013/03/27 Javascript
jquery如何通过name名称获取当前name的value值
2013/12/20 Javascript
JQuery的$命名冲突详细解析
2013/12/28 Javascript
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
jQuery焦点图插件SaySlide
2015/12/21 Javascript
浏览器复制插件zeroclipboard使用指南
2016/03/26 Javascript
JavaScript头像上传插件源码分享
2016/03/29 Javascript
jQuery实现内容定时切换效果完整实例
2016/04/06 Javascript
AngularJS基础 ng-show 指令简单示例
2016/08/03 Javascript
javascript实现的左右无缝滚动效果
2016/09/19 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
JSX在render函数中的应用详解
2019/09/04 Javascript
js+canvas绘制图形验证码
2020/09/21 Javascript
Python使用matplotlib绘制正弦和余弦曲线的方法示例
2018/01/06 Python
python 接口测试response返回数据对比的方法
2018/02/11 Python
PyQt5固定窗口大小的方法
2019/06/18 Python
python 图片二值化处理(处理后为纯黑白的图片)
2019/11/01 Python
Python析构函数__del__定义原理解析
2020/11/20 Python
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
2017/03/15 HTML / CSS
澳大利亚在线高跟鞋商店:Shoe Me
2019/11/19 全球购物
综合实践教学反思
2014/01/31 职场文书
创先争优活动方案
2014/02/12 职场文书
授权委托书怎么写
2014/04/03 职场文书
医药销售自荐书
2014/05/29 职场文书
企业宣传标语
2014/06/09 职场文书
学校政风行风整改方案
2014/10/25 职场文书
税务会计岗位职责
2015/04/02 职场文书
餐饮店长岗位职责
2015/04/14 职场文书
疾病证明书
2015/06/19 职场文书
2016三八妇女节慰问信
2015/11/30 职场文书
JavaScript继承的三种方法实例
2021/05/12 Javascript
Python 键盘事件详解
2021/11/11 Python