zoukankan      html  css  js  c++  java
  • 基础类封装-键盘类操作库封装

      1 import win32api
      2 import win32con
      3 import win32clipboard as w
      4 
      5 class KeyboardKeys():
      6     """Analog keyboard keys class"""
      7     VK_CODE = {
      8         'backspace': 0x08,
      9         'tab': 0x09,
     10         'clear': 0x0c,
     11         'enter': 0x0D,
     12         'shift': 0x10,
     13         'ctrl': 0x11,
     14         'alt': 0x12,
     15         'pause': 0x13,
     16         'caps_lock': 0x14,
     17         'esc': 0x1B,
     18         'spacebar': 0x20,
     19         'page_up': 0x21,
     20         'page_down': 0x22,
     21         'end': 0x23,
     22         'home': 0x24,
     23         'left_arrow': 0x25,
     24         'up_arrow': 0x26,
     25         'right_arrow': 0x27,
     26         'down_arrow': 0x28,
     27         'select': 0x29,
     28         'print': 0x2A,
     29         'execute': 0x2B,
     30         'print_screen': 0x2C,
     31         'ins': 0x2D,
     32         'del': 0x2E,
     33         'help': 0x2F,
     34         '0': 0x30,
     35         '1': 0x31,
     36         '2': 0x32,
     37         '3': 0x33,
     38         '4': 0x34,
     39         '5': 0x35,
     40         '6': 0x36,
     41         '7': 0x37,
     42         '8': 0x38,
     43         '9': 0x39,
     44         'a': 0x41,
     45         'b': 0x42,
     46         'c': 0x43,
     47         'd': 0x44,
     48         'e': 0x45,
     49         'f': 0x46,
     50         'g': 0x47,
     51         'h': 0x48,
     52         'i': 0x49,
     53         'j': 0x4A,
     54         'k': 0x4B,
     55         'l': 0x4C,
     56         'm': 0x4D,
     57         'n': 0x4E,
     58         'o': 0x4F,
     59         'p': 0x50,
     60         'q': 0x51,
     61         'r': 0x52,
     62         's': 0x53,
     63         't': 0x54,
     64         'u': 0x55,
     65         'v': 0x56,
     66         'w': 0x57,
     67         'x': 0x58,
     68         'y': 0x59,
     69         'z': 0x5A,
     70         'numpad_0': 0x60,
     71         'numpad_1': 0x61,
     72         'numpad_2': 0x62,
     73         'numpad_3': 0x63,
     74         'numpad_4': 0x64,
     75         'numpad_5': 0x65,
     76         'numpad_6': 0x66,
     77         'numpad_7': 0x67,
     78         'numpad_8': 0x68,
     79         'numpad_9': 0x69,
     80         'multiply_key': 0x6A,
     81         'add_key': 0x6B,
     82         'separator_key': 0x6C,
     83         'subtract_key': 0x6D,
     84         'decimal_key': 0x6E,
     85         'divide_key': 0x6F,
     86         'F1': 0X70,
     87         'F2': 0X71,
     88         'F3': 0X72,
     89         'F4': 0X73,
     90         'F5': 0X74,
     91         'F6': 0X75,
     92         'F7': 0X76,
     93         'F8': 0X77,
     94         'F9': 0X78,
     95         'F10': 0X79,
     96         'F11': 0X7A,
     97         'F12': 0X7B,
     98         'F13': 0X7C,
     99         'F14': 0X7D,
    100         'F15': 0X7E,
    101         'F16': 0X7F,
    102         'F17': 0X80,
    103         'F18': 0X81,
    104         'F19': 0X82,
    105         'F20': 0X83,
    106         'F21': 0X84,
    107         'F22': 0X85,
    108         'F23': 0X86,
    109         'F24': 0X87,
    110         'num_lock': 0x90,
    111         'scroll_lock': 0x91,
    112         'left_shift': 0xA0,
    113         'right_shift': 0xA1,
    114         'left_control': 0xA2,
    115         'right_control':0xA3,
    116         'left_menu': 0xA4,
    117         'right_menu': 0xA5,
    118         'browser_back':0xA6,
    119         'browser_forward': 0xA7,
    120         'browser_refresh': 0xA8,
    121         'browser_stop': 0xA9,
    122         'browser_search': 0xAA,
    123         'browser_favorites': 0xAB,
    124         'browser_start_and_home': 0xAC,
    125         'voleme_mute': 0xAD,
    126         'voleme_down': 0xAE,
    127         'voleme_up': 0xAF,
    128         'next_track': 0xB1,
    129         'stop_media': 0xB2,
    130         'play/pause_media': 0xB3,
    131         'start_mail': 0xB4,
    132         'select_media': 0xB5,
    133         'start_application_1': 0xB6,
    134         'start_application_2': 0xB7,
    135         'attn_key': 0xF6,
    136         'crsel_key': 0xF7,
    137         'exsel_key': 0xF8,
    138         'play_key': 0xFA,
    139         'zoom_key': 0xFB,
    140         'ckear_key': 0xFE,
    141         '+': 0xBB,
    142         ',': 0xBC,
    143         '-': 0xBD,
    144         '.': 0xBE,
    145         '/': 0xBF,
    146         '`': 0xC0,
    147         ';': 0xBA,
    148         '[': 0xDB,
    149         '\': 0xDC,
    150         ']': 0xDD,
    151         "'": 0xDE
    152     }
    153 
    154     @staticmethod
    155     def keyDown(keyName):
    156         """按下按键"""
    157         win32api.keybd_event(KeyboardKeys.VK_CODE[keyName], 0, 0, 0)
    158 
    159     @staticmethod
    160     def keyUp(keyName):
    161         """释放按键"""
    162         win32api.keybd_event(KeyboardKeys.VK_CODE[keyName], 0,win32con.KEYEVENTF_KEYUP, 0)
    163 
    164     @staticmethod
    165     def oneKey(key):
    166         """模拟单个按键,按下并释放"""
    167         KeyboardKeys.keyDown(key)
    168         KeyboardKeys.keyUp(key)
    169 
    170     @staticmethod
    171     def twoKeys(key1,key2):
    172         """模拟两个按键"""
    173         KeyboardKeys.keyDown(key1)
    174         KeyboardKeys.keyDown(key2)
    175         KeyboardKeys.keyUp(key2)
    176         KeyboardKeys.keyUp(key1)
    177 
    178 
    179 
    180 
    181 if __name__ == "__main__":
    182     test = KeyboardKeys()
    183     test.setText(u'my name is tyw')
    184     print(test.getText().decode('gbk').encode('utf-8'))
  • 相关阅读:
    Centos7下安装Oracle11g r2图形化界面数据库
    power designer 16.5 使用总结[转]
    mybatis-plus忽略映射字段
    mybatis-plus快速入门使用
    git本地项目代码上传至码云远程仓库总结【转】
    北京Java笔试题整理
    linux下启动和关闭tomcat服务的方式
    SpringMvc支持跨域访问,Spring跨域访问,SpringMvc @CrossOrigin 跨域[转]
    mybatis中的#和$的区别
    Spring官网下载dist.zip的几种方法
  • 原文地址:https://www.cnblogs.com/tython/p/12782019.html
Copyright © 2011-2022 走看看