您的位置:首页 > 数据 >
用Python3实现dota改建精灵——python库 环球今日报
来源:CSDN 2023-02-13 14:50:26


(资料图片仅供参考)

如题,用Python3实现 dota改建精灵。本质原理是通过改变键盘按键映射关系。比如按下数字键1,映射到字母A。映射关系可以自定义。 这样就构成了改建逻辑。 实现工具清单如下:

python 3.7.3python库:PyHook3 ,关于该库的安装请自行百度,有点麻烦。python库:win32api

完整代码如下,可直接使用:

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Date    : 2020-09-05 19:13:10# @Author  : Nero # @Link    :# @Version : Dota技能一把梭"""使用说明:1). 根据需求修改keyMap中对应的值,字母不区分大小写2). 程序运行后,通过“\” 开启、关闭 键盘映射功能"""#导入库文件import pythoncomimport PyHook3import win32apiimport win32con#构建映射关系keyMap={"装备栏1":"",     "装备栏2":"",        "装备栏3":"",     "装备栏4":"",        "装备栏5":"",     "装备栏6":"",        }#提示信息print("Author: Nero\n")print("装备栏顺序如下:\n装备栏1     装备栏2\n装备栏3     装备栏4\n装备栏5     装备栏6\n")#输入各装备栏的快捷键for i in keyMap:    keyMap[i]=input("请输入"{0}"的快捷键: ".format(i))#改建开关提示print("\n请输入 “\” 开启改键功能\n")#开关flagturnONOFF="Oem_5"           # “\” 开启/关闭 按键映射功能按键startFlag=False#开关函数def switchFlag():    global startFlag    if startFlag:        print ("功能停止")        startFlag=False    else :        print ("功能开启")        startFlag=Truedef checkFlag():    return startFlag#主程序将一直监听键盘输入,并判断是否是自定义的快捷键,根据判断结果将指定的按键发送给系统。def onKeyboardEvent(event):    #打印当前键盘输入    print ("Key:{0:} ".format(event.Key))        #程序开启/关闭    if str(event.Key) == "Oem_5":        switchFlag()#如果程序开启,如果检测到按键为快捷键,则将该快捷键映射的值送给系统    if checkFlag():        if str(event.Key).lower() == keyMap["装备栏1"].lower():            win32api.keybd_event(103, 0, 0, 0)      #对应小键盘7            win32api.keybd_event(103, 0, win32con.KEYEVENTF_KEYUP, 0)        elif str(event.Key).lower() == keyMap["装备栏3"].lower():            win32api.keybd_event(100, 0, 0, 0)      #对应小键盘4            win32api.keybd_event(100, 0, win32con.KEYEVENTF_KEYUP, 0)        elif str(event.Key).lower() == keyMap["装备栏5"].lower():            win32api.keybd_event(97, 0, 0, 0)       #对应小键盘1            win32api.keybd_event(97, 0, win32con.KEYEVENTF_KEYUP, 0)        elif str(event.Key).lower() == keyMap["装备栏2"].lower():            win32api.keybd_event(104, 0, 0, 0)      #对应小键盘8            win32api.keybd_event(104, 0, win32con.KEYEVENTF_KEYUP, 0)        elif str(event.Key).lower() == keyMap["装备栏4"].lower():            win32api.keybd_event(101, 0, 0, 0)      #对应小键盘5            win32api.keybd_event(101, 0, win32con.KEYEVENTF_KEYUP, 0)        elif str(event.Key).lower() == keyMap["装备栏6"].lower():            win32api.keybd_event(98, 0, 0, 0)       #对应小键盘2            win32api.keybd_event(98, 0, win32con.KEYEVENTF_KEYUP, 0)    else:        pass    # 返回 True 以便将事件传给其它处理程序    # 注意,这儿如果返回 False ,则鼠标事件将被全部拦截    # 也就是说你的输入失效,似乎失去响应了    return Truedef main():    # 创建一个“钩子”管理对象    hm = PyHook3.HookManager()    # 监听所有键盘事件    hm.KeyDown = onKeyboardEvent    # 设置键盘“钩子”    hm.HookKeyboard()    # 进入循环,如不手动关闭,程序将一直处于监听状态    pythoncom.PumpMessages()if __name__ == "__main__":    main()

关键词:
相关文章
俄中新铁路桥贾林达-漠河的年货运量可能会达到2000万吨至4000万-每日快播

俄中新铁路桥贾林达-漠河的年货运量可能会达到200

  据俄罗斯远东媒体援引阿穆尔州州长瓦西里·奥尔洛夫的话报道,俄罗斯和中国有必要签署一系列政府间文件,以进一步有效地开展俄中新铁路口更多

2023-02-13 10:01:35
今头条!印尼2023年将出口超5亿吨煤炭

今头条!印尼2023年将出口超5亿吨煤炭

  印尼能源和矿产资源部部长阿里芬·塔利夫(ArifinTasrif)1月30日表示,印尼今年计划生产695亿吨煤炭,出口518亿吨。  阿里芬·塔利夫称更多

2023-02-13 10:00:08
2月第一周福建省煤炭市场价格稳中微跌

2月第一周福建省煤炭市场价格稳中微跌

  根据商务部重要生产资料监测系统监测数据显示,上周(2023年1月30日-2023年2月5日)福建省监测样本企业的煤炭市场价格平均为162767元吨,更多

2023-02-13 10:00:50
2023年煤炭市场简析 每日简讯

2023年煤炭市场简析 每日简讯

  春节过后,随着各地煤矿生产企业的复工复产,煤炭市场供应偏紧的态势正在缓解,煤炭主产地、沿海港口及进口动力煤价均出现回落。  1、通更多

2023-02-13 09:58:22
当前观察:CCTD:沿海地区现货煤价何以跌势不止?

当前观察:CCTD:沿海地区现货煤价何以跌势不止?

  春节过后,沿海地区现货动力煤价格迅速进入下行通道,且降幅在2月上旬呈现扩大化趋势。  探究近期沿海地区现货煤价下行的原因,应该回归更多

2023-02-13 09:57:23
山西吕梁离石贾家沟煤业有限公司发生一起安全事故 死亡1人-今日热讯

山西吕梁离石贾家沟煤业有限公司发生一起安全事故

  2月8日,山西吕梁离石贾家沟煤业有限公司发生一起死亡1人的安全事故。  2月9日,山西省应急管理厅、山西省地方煤矿安全监督管理局下发通更多

2023-02-10 16:55:52
速讯:山西出现大范围降雪降温天气 相关部门多举措确保能源供应

速讯:山西出现大范围降雪降温天气 相关部门多举

  2月8日至9日,山西迎来大范围降雪降温天气。为应对降雪降温造成用电增加情况,太原铁路部门加大电煤运输保障力度,优化货物列车开行,挖掘更多

2023-02-10 12:08:21
湖北煤矿连续30个月实现安全生产“零事故”

湖北煤矿连续30个月实现安全生产“零事故”

  2月9日从国家矿山安监局湖北局获悉,一年来,湖北煤矿安全生产形势持续稳定向好,2022年再次实现安全生产,创造了煤矿连续30个月零事故零更多

2023-02-10 11:17:08
世界速讯:国铁南宁局管内电厂存煤平均可耗28天

世界速讯:国铁南宁局管内电厂存煤平均可耗28天

  根据2月7日统计数据,国铁南宁局管内10家电厂存煤21239万吨,平均可耗28天。  近期,随着节后返岗复工潮的到来,广西各地企业用电量持续更多

2023-02-10 09:54:28
当前观察:6.6万吨澳煤船在珠海台山边检站通关

当前观察:6.6万吨澳煤船在珠海台山边检站通关

  近日,一艘运载着66万吨进口煤的东方虎轮从澳大利亚入境我国,珠海边检总站台山出入境边防检查站迎来了2023年春节后第一艘入境的国际航行更多

2023-02-10 10:07:01