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检测网站链接是否已存在
Apr 07 Python
python dataframe astype 字段类型转换方法
Apr 11 Python
Python中实现单例模式的n种方式和原理
Nov 14 Python
pycharm debug功能实现跳到循环末尾的方法
Nov 29 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
Feb 13 Python
Python爬虫beautifulsoup4常用的解析方法总结
Feb 25 Python
解决Django生产环境无法加载静态文件问题的解决
Apr 23 Python
python利用selenium进行浏览器爬虫
Apr 25 Python
Windows系统Python直接调用C++ DLL的方法
Aug 01 Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
Aug 26 Python
MATLAB数学建模之画图汇总
Jul 16 Python
Python descriptor(描述符)的实现
Nov 15 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
PHP开发大型项目的一点经验
2006/10/09 PHP
PHP面向对象学习笔记之一 基础概念
2012/10/06 PHP
Zend studio文件注释模板设置方法
2013/09/29 PHP
PHP生成腾讯云COS接口需要的请求签名
2018/05/20 PHP
event.srcElement+表格应用
2006/08/29 Javascript
网页自动跳转代码收集
2009/09/27 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
2013/03/15 Javascript
Javascript代码在页面加载时的执行顺序介绍
2013/05/03 Javascript
js判断设备是否为PC并调整图片大小
2014/02/12 Javascript
jQuery性能优化技巧分析
2015/02/20 Javascript
nw.js实现类似微信的聊天软件
2015/03/16 Javascript
Javascript 基础---Ajax入门必看
2016/07/06 Javascript
String字符串截取的四种方式总结
2016/11/28 Javascript
three.js实现围绕某物体旋转
2017/01/25 Javascript
JS回调函数简单用法示例
2017/02/09 Javascript
使用JS和canvas实现gif动图的停止和播放代码
2017/09/01 Javascript
vue2中的keep-alive使用总结及注意事项
2017/12/21 Javascript
微信小程序实现卡片层叠滑动效果
2019/06/21 Javascript
es6中reduce的基本使用方法
2019/09/10 Javascript
vue-resource:jsonp请求百度搜索的接口示例
2019/11/09 Javascript
详解node.js 事件循环
2020/07/22 Javascript
浅谈JSON5解决了JSON的两大痛点
2020/12/14 Javascript
Javascript 模拟mvc实现点餐程序案例详解
2020/12/24 Javascript
二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
2013/12/03 Python
详解Python循环作用域与闭包
2019/03/21 Python
pandas中的ExcelWriter和ExcelFile的实现方法
2020/04/24 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
解决python和pycharm安装gmpy2 出现ERROR的问题
2020/08/28 Python
Django项目创建及管理实现流程详解
2020/10/13 Python
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
2015/08/31 HTML / CSS
银行工作检查书范文
2014/01/31 职场文书
12月红领巾广播稿
2014/02/13 职场文书
家庭聚会祝酒词
2015/08/11 职场文书
2016母亲节感恩话语
2015/12/09 职场文书
导游词之无锡梅园
2019/11/28 职场文书
react中props 的使用及进行限制的方法
2021/04/28 Javascript