简单的卡尔改键程序

来源:互联网 发布:ubuntu连不上有线网 编辑:程序博客网 时间:2024/04/30 03:51

截图:




源代码:


#!usr/bin/env python# -*- coding: gb2312 -*-import pyHookimport pythoncomimport win32apiimport win32conimport wx#from pyHook.HookManager import HookConstants        def OnKeyboardEvent(event):#    tabpressed = pyHook.GetKeyState(HookConstants.VKeyToID('VK_TAB')) >= 2#这是实现tab状态抓取的另一种方法,如果启用,则#from pyHook.HookManager import HookConstants#这一句也要启用    tabpressed = win32api.GetKeyState(win32con.VK_TAB) & 0x8000    if tabpressed:        if event.Key == 'Y':            win32api.keybd_event(81,0,0,0)            win32api.keybd_event(81,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(81,0,0,0)            win32api.keybd_event(81,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(81,0,0,0)            win32api.keybd_event(81,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(82,0,0,0)            win32api.keybd_event(82,0,win32con.KEYEVENTF_KEYUP,0)#'急速冷却'           elif event.Key == 'V':            win32api.keybd_event(81,0,0,0)            win32api.keybd_event(81,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(81,0,0,0)            win32api.keybd_event(81,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(87,0,0,0)            win32api.keybd_event(87,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(82,0,0,0)            win32api.keybd_event(82,0,win32con.KEYEVENTF_KEYUP,0)#'幽灵漫步'        elif event.Key == 'G':            win32api.keybd_event(81,0,0,0)            win32api.keybd_event(81,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(81,0,0,0)            win32api.keybd_event(81,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(69,0,0,0)            win32api.keybd_event(69,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(82,0,0,0)            win32api.keybd_event(82,0,win32con.KEYEVENTF_KEYUP,0)#'寒冰之墙'        elif event.Key == 'Z':            win32api.keybd_event(87,0,0,0)            win32api.keybd_event(87,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(87,0,0,0)            win32api.keybd_event(87,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(69,0,0,0)            win32api.keybd_event(69,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(82,0,0,0)            win32api.keybd_event(82,0,win32con.KEYEVENTF_KEYUP,0)#'灵动迅捷'        elif event.Key == 'X':            win32api.keybd_event(87,0,0,0)            win32api.keybd_event(87,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(87,0,0,0)            win32api.keybd_event(87,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(81,0,0,0)            win32api.keybd_event(81,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(82,0,0,0)            win32api.keybd_event(82,0,win32con.KEYEVENTF_KEYUP,0)#'强袭飓风'        elif event.Key == 'C':            win32api.keybd_event(87,0,0,0)            win32api.keybd_event(87,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(87,0,0,0)            win32api.keybd_event(87,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(87,0,0,0)            win32api.keybd_event(87,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(82,0,0,0)            win32api.keybd_event(82,0,win32con.KEYEVENTF_KEYUP,0)#'电磁脉冲'        elif event.Key == 'T':            win32api.keybd_event(69,0,0,0)            win32api.keybd_event(69,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(69,0,0,0)            win32api.keybd_event(69,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(69,0,0,0)            win32api.keybd_event(69,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(82,0,0,0)            win32api.keybd_event(82,0,win32con.KEYEVENTF_KEYUP,0)#'阳炎冲击'          elif event.Key == 'F':            win32api.keybd_event(69,0,0,0)            win32api.keybd_event(69,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(69,0,0,0)            win32api.keybd_event(69,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(81,0,0,0)            win32api.keybd_event(81,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(82,0,0,0)            win32api.keybd_event(82,0,win32con.KEYEVENTF_KEYUP,0)#'熔炉精灵'          elif event.Key == 'D':            win32api.keybd_event(69,0,0,0)            win32api.keybd_event(69,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(69,0,0,0)            win32api.keybd_event(69,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(87,0,0,0)            win32api.keybd_event(87,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(82,0,0,0)            win32api.keybd_event(82,0,win32con.KEYEVENTF_KEYUP,0)#'混沌陨石'        elif event.Key == 'B':            win32api.keybd_event(81,0,0,0)            win32api.keybd_event(81,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(69,0,0,0)            win32api.keybd_event(69,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(87,0,0,0)            win32api.keybd_event(87,0,win32con.KEYEVENTF_KEYUP,0)            win32api.keybd_event(82,0,0,0)            win32api.keybd_event(82,0,win32con.KEYEVENTF_KEYUP,0)#'超震声波'        return Trueclass Frame(wx.Frame):        def __init__(self):        wx.Frame.__init__(self, None, -1, '卡尔技能改键',                 size=(300, 200))        panel = wx.Panel(self, -1)        wx.StaticText(panel, -1, "卡尔技能改键说明:\n\n按住TAB再按技能快捷键,即相当于切换到此技能。\n\n"                "powered by KID.JDD and Tooktang", (7,25),                 style=wx.ALIGN_CENTER)        self.button = wx.ToggleButton(panel, -1, "点击切换改键开关状态", pos=(71,120))        self.Bind(wx.EVT_TOGGLEBUTTON, self.OnClick, self.button)    def OnClick(self, event):        hm = pyHook.HookManager()        hm.KeyDown = OnKeyboardEvent        wx.EVT_TOGGLEBUTTON = hm.HookKeyboard()if __name__ == '__main__':    app = wx.PySimpleApp()    frame = Frame()    frame.Show()    app.MainLoop()    pythoncom.PumpMessages()


原创粉丝点击