精华内容
下载资源
问答
  • windows键值表

    2012-03-24 18:25:34
    电脑键盘上的每一个按键都对应着一个具体的数值,此给出了这种对应关系。
  • Windows VK_虚拟键盘表

    千次阅读 2014-04-03 16:15:40
    Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 键盘VK值表 2 2007-11-01 18:39 3 VK_LBUTTON 0x01 4 VK_RBUTTON 0x02 5 VK_CANCEL 0x03 6...
      1 键盘VK值表
      2 2007-11-01 18:39
      3 VK_LBUTTON 0x01 
      4 VK_RBUTTON 0x02 
      5 VK_CANCEL 0x03 
      6 VK_MBUTTON 0x04 
      7 VK_BACK 0x08 
      8 VK_TAB 0x09 
      9 VK_CLEAR 0x0C 
     10 VK_RETURN
     11 VK_ENTER 0x0D 
     12 VK_SHIFT 0x10 
     13 VK_CTRL 0x11 
     14 VK_ALT 0x12 
     15 VK_PAUSE 0x13 
     16 VK_CAPS_LOCK 0x14 
     17 VK_KANA 0x15 
     18 VK_JUNJA 0x17 
     19 VK_FINAL 0x18 
     20 VK_HANJA 0x19 
     21 VK_ESCAPE 0x1B 
     22 VK_CONVERT 0x1C 
     23 VK_NONCONVERT 0x1D 
     24 VK_ACCEPT 0x1E 
     25 VK_MODE_CHANGE 0x1F 
     26 VK_SPACE 0x20 
     27 VK_PAGE_UP 0x21 
     28 VK_PAGE_DOWN 0x22 
     29 VK_END 0x23 
     30 VK_HOME 0x24 
     31 VK_LEFT 0x25 
     32 VK_UP 0x26 
     33 VK_RIGHT 0x27 
     34 VK_DOWN 0x28 
     35 VK_SELECT 0x29 
     36 VK_PRINT 0x2A 
     37 VK_EXECUTE 0x2B 
     38 VK_SNAPSHOT 0x2C 
     39 VK_INSERT 0x2D 
     40 VK_DELETE 0x2E 
     41 VK_HELP 0x2F 
     42 VK_0 0x30 
     43 VK_1 0x31 
     44 VK_2 0x32 
     45 VK_3 0x33 
     46 VK_4 0x34 
     47 VK_5 0x35 
     48 VK_6 0x36 
     49 VK_7 0x37 
     50 VK_8 0x38 
     51 VK_9 0x39 
     52 VK_A 0x41 
     53 VK_B 0x42 
     54 VK_C 0x43 
     55 VK_D 0x44 
     56 VK_E 0x45 
     57 VK_F 0x46 
     58 VK_G 0x47 
     59 VK_H 0x48 
     60 VK_I 0x49 
     61 VK_J 0x4A 
     62 VK_K 0x4B 
     63 VK_L 0x4C 
     64 VK_M 0x4D 
     65 VK_N 0x4E 
     66 VK_O 0x4F 
     67 VK_P 0x50 
     68 VK_Q 0x51 
     69 VK_R 0x52 
     70 VK_S 0x53 
     71 VK_T 0x54 
     72 VK_U 0x55 
     73 VK_V 0x56 
     74 VK_W 0x57 
     75 VK_X 0x58 
     76 VK_Y 0x59 
     77 VK_Z 0x5A 
     78 VK_LWIN 0x5B 
     79 VK_RWIN 0x5C 
     80 VK_APPS 0x5D 
     81 VK_NUMPAD0 0x60 
     82 VK_NUMPAD1 0x61 
     83 VK_NUMPAD2 0x62 
     84 VK_NUMPAD3 0x63 
     85 VK_NUMPAD4 0x64 
     86 VK_NUMPAD5 0x65 
     87 VK_NUMPAD6 0x66 
     88 VK_NUMPAD7 0x67 
     89 VK_NUMPAD8 0x68 
     90 VK_NUMPAD9 0x69 
     91 VK_MULTIPLY 0x6A 
     92 VK_ADD 0x6B 
     93 VK_SEPARATOR 0x6C 
     94 VK_SUBTRACT 0x6D 
     95 VK_DECIMAL 0x6E 
     96 VK_DIVIDE 0x6F 
     97 VK_F1 0x70 
     98 VK_F2 0x71 
     99 VK_F3 0x72 
    100 VK_F4 0x73 
    101 VK_F5 0x74 
    102 VK_F6 0x75 
    103 VK_F7 0x76 
    104 VK_F8 0x77 
    105 VK_F9 0x78 
    106 VK_F10 0x79 
    107 VK_F11 0x7A 
    108 VK_F12 0x7B 
    109 VK_F13 0x7C 
    110 VK_F14 0x7D 
    111 VK_F15 0x7E 
    112 VK_F16 0x7F 
    113 VK_F17 0x80 
    114 VK_F18 0x81 
    115 VK_F19 0x82 
    116 VK_F20 0x83 
    117 VK_F21 0x84 
    118 VK_F22 0x85 
    119 VK_F23 0x86 
    120 VK_F24 0x87 
    121 VK_F25 0x88 
    122 VK_F26 0x89 
    123 VK_F27 0x8A 
    124 VK_F28 0x8B 
    125 VK_F29 0x8C 
    126 VK_F30 0x8D 
    127 VK_F31 0x8E 
    128 VK_F32 0x8F 
    129 VK_NUM_LOCK 0x90 
    130 VK_SCROLL_LOCK  

     

    展开全文
  • 网上键盘映射的文章很多,有些文字表达存在歧义,有些键位表(键值表)居然错误,折腾几次才实践出要义。写此笔记希望他人可以避坑,快速完成键盘映射。为避免歧义下文中尽量不使用映射,对应一说。(到底左映射右,...

    目录

    Windows10 键盘映射

    介绍

    方法一

    方法二

    Linux 键盘映射

    其他

    常用键盘映射关系

    注意事项

    Windows10 键盘映射

    网上键盘映射的文章很多,有些文字表达存在歧义,有些键位表(键值表)居然错误,折腾几次才实践出要义。写此笔记希望他人可以避坑,快速完成键盘映射。为避免歧义下文中尽量不使用映射,对应一说。(到底左映射右,还是右映射左分不清楚)

    介绍

    变更键盘映射需要在注册表中添加值,重启后才生效!

    假设要把Caps Lock键当做Esc键来使,我们约定Caps Lock键是敲击键,Esc键是目标键。

    敲击键被按下后,实际作用的是目标键,这两个按键之间的关系是一对。两个按键的在注册表中的对应关系如下:

    目标键  <- 敲击键

    每个按键对应一个键值,如Caps Lock键的键值是‘3A 00’,Esc键的键值是'01 00'。编辑注册表值时的顺序是

    目标键 敲击键
    Esc Caps Lock
    01 00 3A 00

    方法一

    添加值的位置是:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

    右键点Keyboard Layout这个文件夹,选择新建二进制值。

    并且给建好的值取名为Scancode Map,编辑此值时需要穿鞋,戴帽。

    "Scancode Map"=hex:
    00,00,00,00,  //固定格式 '帽子'
    00,00,00,00,  //固定格式 '帽子'
    
    02,00,00,00,  //02表示后面还有2行(更改2个按键对应关系的1行 + 最后一行全0固定格式)
    01,00,3A,00,  //目标键 <- 敲击键  Esc <- Caps Lock
    
    00,00,00,00   //固定格式 '鞋子'

    在注册表中显示为

    点击确定,修改完成。重启后敲击Caps Lock按键,生效的是Esc。

    参考 https://blog.csdn.net/lhdalhd1996/article/details/90741092

    方法二

    打开记事本中,在记事本中写入

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
    "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,01,00,3a,00,00,00,00,00

    然后保存为后缀是.reg的文件。双击文件,确定,重启后生效。

    参考 https://blog.csdn.net/Ace_Shiyuan/article/details/81283065

    Linux 键盘映射

    linux 可以使用‘xmodmap’命令更改键盘映射。后期再详细描述这部分内容。

    临时更改可以在命令行里输入,重启后恢复默认。

    $ xmodmap xx xx

    在某用户下更改,可以在用户家目录下的.bashrc或.bash_profile文件内添加。重启后登录该用户依然有效。

    xmodmap xx xx

    全局更改,修改/etc/profile

    其他

    常用键盘映射关系

    以下键值都在Windows10系统中实测过,可放心使用。

    Caps Lock -> Esc    //vim中常用。 Scancode在正文中。
    Caps Lock <-> Esc    //两键互换。注意指定更改的行数是3! 2行键值对应 + 1行固定格式
    
    "Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,3a,00,01,00,01,00,3a,00,00,00,00,00
    Esc                       //Esc键默认,不改变。
    Caps Lock -> Esc          //Caps Lock改为Esc键,键盘中存在2个Esc。//变更第一行
    Right Alt -> Caps Lock    //右Alt不常用,可改为大写键。//变更第二行
    
    "Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,01,00,3a,00,3a,00,38,e0,00,00,00,00

    掌握方法后,可按自己想法更改键盘映射,祝大家玩的开心!

    注意事项

    网上键位表众多,请大家注意甄别,避免掉坑!

    如有其他的键盘映射的实用方式,可以留言或私信。

    展开全文
  • 具体的就参照虚拟键盘值表,上百度可以查到 为了能更清楚地表达,我编了个小程序 #include #include<windows> #define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) //必要的,我是背下来...
  • opengl键盘控制一

    千次阅读 2014-08-29 11:58:58
    windows键值表

    windows键值表

     

    GLUT_KEY_*在glut.h里面预定义好了.整个集合如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    GLUT_KEY_F1     F1 function key
    GLUT_KEY_F2     F2 function key
    GLUT_KEY_F3     F3 function key
    GLUT_KEY_F4     F4 function key
    GLUT_KEY_F5     F5 function key
    GLUT_KEY_F6     F6 function key
    GLUT_KEY_F7     F7 function key
    GLUT_KEY_F8     F8 function key
    GLUT_KEY_F9     F9 function key
    GLUT_KEY_F10        F10 function key
    GLUT_KEY_F11        F11 function key
    GLUT_KEY_F12        F12 function key
    GLUT_KEY_LEFT Left function key
    GLUT_KEY_RIGHT Right function key
    GLUT_KEY_UP     Up function key
    GLUT_KEY_DOWN       Down function key
    GLUT_KEY_PAGE_UP    Page Up function key
    GLUT_KEY_PAGE_DOWN  Page Down function key
    GLUT_KEY_HOME       Home function key
    GLUT_KEY_END        End function key
    GLUT_KEY_INSERT     Insert function key

     

     

    展开全文
  • keybd_event模拟键盘输入

    万次阅读 2018-08-23 22:30:32
    Windows提供了一个模拟键盘API函数keybd_event(),该函数原型为:keybd_event(bVk, bScan, dwFlags, ... 第三个参数:函数操作的一个标志位,如果为KEYEVENTF_EXTENDEDKEY则该被按下,也可设置为0即可,如...

    Windows提供了一个模拟键盘API函数keybd_event(),该函数原型为:keybd_event(bVk, bScan, dwFlags, dwExtraInfo),其中:

    • 第一个参数:虚拟键码(键盘键码对照表见附录);
    • 第二个参数:硬件扫描码,一般设置为0即可;
    • 第三个参数:函数操作的一个标志位,如果值为KEYEVENTF_EXTENDEDKEY则该键被按下,也可设置为0即可,如果值为KEYEVENTF_KEYUP则该按键被释放;
    • 第四个参数:定义与击键相关的附加的32位值,一般设置为0即可。

    比如模拟按下“Ctrl+C”和“A”键:

    from win32api import keybd_event
    from win32con import KEYEVENTF_KEYUP
    import time
    
    
    def press_a():
    	keybd_event(65, 0, 0, 0)
    	keybd_event(65, 0, KEYEVENTF_KEYUP, 0)
    
    
    def ctrl_c():
    	keybd_event(17, 0, 0, 0)
    	keybd_event(67, 0, 0, 0)
    	keybd_event(67, 0, KEYEVENTF_KEYUP, 0)
    	keybd_event(17, 0, KEYEVENTF_KEYUP, 0)
    
    
    if __name__ == '__main__':
    	while True:
    		ctrl_c()
    		press_a()
    		time.sleep(1)
    

    当运行程序,并打开一个命令行界面时, 效果就是每隔1秒按一次组合键“Ctrl+C”和“A”键:

    键盘键码对照表:

    按键

    键码

    按键

    键码

    按键

    键码

    按键

    键码

    A

    65

    6(数字键盘)

    102

    ;

    59

    :

    58

    B

    66

    7(数字键盘)

    103

    =

    61

    +

                       43

    C

    67

    8(数字键盘)

    104

    ,

    44

    60

    D

    68

    9(数字键盘)

    105

    -

    45

    _

    95

    E

    69

    *

    106

    .

    46

    62

    F

    70

    !

    33

    /

    47

    ?

    63

    G

    71

    Enter

    13

    `

    96

    ~

    126

    H

    72

    @

    64

    [

    91

    {

    123

    I

    73

    #

    35

    \

    92

    |

    124

    J

    74

    $

    36

    }

    125

    ]

    93

    K

    75

    F1

    112

    a

    97

    b

    98

    L

    76

    F2

    113

    c

    99

    d

    100

    M

    77

    F3

    114

    e

    101

    f

    102

    N

    78

    F4

    115

    g

    103

    h

    104

    O

    79

    F5

    116

    i

    105

    j

    106

    P

    80

    F6

    117

    k

    107

    l

    108

    Q

    81

    F7

    118

    m

    109

    n

    110

    R

    82

    F8

    119

    o

    111

    p

    112

    S

    83

    F9

    120

    q

    113

    r

    114

    T

    84

    F10

    121

    s

    115

    t

    116

    U

    85

    F11

    122

    u

    117

    v

    118

    V

    86

    F12

    123

    w

    119

    x

    120

    W

    87

    Backspace

    8

    y

    121

    z

    122

    X

    88

    Tab

    9

    0(数字键盘)

    96

    Up Arrow

    38

    Y

    89

    Clear

    12

    1(数字键盘)

    97

    Right Arrow

    39

    Z

    90

    Shift

    16

    2(数字键盘)

    98

    Down Arrow

    40

    0(小键盘)

    48

    Control

    17

    3(数字键盘)

    99

    Insert

    45

    1(小键盘)

    49

    Alt

    18

    4(数字键盘)

    100

    Delete

    46

    2(小键盘)

    50

    Cap Lock

    20

    5(数字键盘)

    101

    Num Lock

    144

    3(小键盘)

    51

    Esc

    27

    2(数字键盘)

    98

    Down Arrow

    40

    4(小键盘)

    52

    Spacebar

    32

    3(数字键盘)

    99

    Insert

    45

    5(小键盘)

    53

    Page Up

    33

    4(数字键盘)

    100

    Delete

    46

    6(小键盘)

    54

    Page Down

    34

    5(数字键盘)

    101

    Num Lock

    144

    7(小键盘)

    55

    End

    35

     

    8(小键盘)

    56

    Home

    36

     

    9(小键盘)

    57

    Left Arrow

    37

     

    按键示例:

    #Giant dictonary to hold key name and VK value
    VK_CODE = {'backspace':0x08,
               'tab':0x09,
               'clear':0x0C,
               'enter':0x0D,
               'shift':0x10,
               'ctrl':0x11,
               'alt':0x12,
               'pause':0x13,
               'caps_lock':0x14,
               'esc':0x1B,
               'spacebar':0x20,
               'page_up':0x21,
               'page_down':0x22,
               'end':0x23,
               'home':0x24,
               'left_arrow':0x25,
               'up_arrow':0x26,
               'right_arrow':0x27,
               'down_arrow':0x28,
               'select':0x29,
               'print':0x2A,
               'execute':0x2B,
               'print_screen':0x2C,
               'ins':0x2D,
               'del':0x2E,
               'help':0x2F,
               '0':0x30,
               '1':0x31,
               '2':0x32,
               '3':0x33,
               '4':0x34,
               '5':0x35,
               '6':0x36,
               '7':0x37,
               '8':0x38,
               '9':0x39,
               'a':0x41,
               'b':0x42,
               'c':0x43,
               'd':0x44,
               'e':0x45,
               'f':0x46,
               'g':0x47,
               'h':0x48,
               'i':0x49,
               'j':0x4A,
               'k':0x4B,
               'l':0x4C,
               'm':0x4D,
               'n':0x4E,
               'o':0x4F,
               'p':0x50,
               'q':0x51,
               'r':0x52,
               's':0x53,
               't':0x54,
               'u':0x55,
               'v':0x56,
               'w':0x57,
               'x':0x58,
               'y':0x59,
               'z':0x5A,
               'numpad_0':0x60,
               'numpad_1':0x61,
               'numpad_2':0x62,
               'numpad_3':0x63,
               'numpad_4':0x64,
               'numpad_5':0x65,
               'numpad_6':0x66,
               'numpad_7':0x67,
               'numpad_8':0x68,
               'numpad_9':0x69,
               'multiply_key':0x6A,
               'add_key':0x6B,
               'separator_key':0x6C,
               'subtract_key':0x6D,
               'decimal_key':0x6E,
               'divide_key':0x6F,
               'F1':0x70,
               'F2':0x71,
               'F3':0x72,
               'F4':0x73,
               'F5':0x74,
               'F6':0x75,
               'F7':0x76,
               'F8':0x77,
               'F9':0x78,
               'F10':0x79,
               'F11':0x7A,
               'F12':0x7B,
               'F13':0x7C,
               'F14':0x7D,
               'F15':0x7E,
               'F16':0x7F,
               'F17':0x80,
               'F18':0x81,
               'F19':0x82,
               'F20':0x83,
               'F21':0x84,
               'F22':0x85,
               'F23':0x86,
               'F24':0x87,
               'num_lock':0x90,
               'scroll_lock':0x91,
               'left_shift':0xA0,
               'right_shift ':0xA1,
               'left_control':0xA2,
               'right_control':0xA3,
               'left_menu':0xA4,
               'right_menu':0xA5,
               'browser_back':0xA6,
               'browser_forward':0xA7,
               'browser_refresh':0xA8,
               'browser_stop':0xA9,
               'browser_search':0xAA,
               'browser_favorites':0xAB,
               'browser_start_and_home':0xAC,
               'volume_mute':0xAD,
               'volume_Down':0xAE,
               'volume_up':0xAF,
               'next_track':0xB0,
               'previous_track':0xB1,
               'stop_media':0xB2,
               'play/pause_media':0xB3,
               'start_mail':0xB4,
               'select_media':0xB5,
               'start_application_1':0xB6,
               'start_application_2':0xB7,
               'attn_key':0xF6,
               'crsel_key':0xF7,
               'exsel_key':0xF8,
               'play_key':0xFA,
               'zoom_key':0xFB,
               'clear_key':0xFE,
               '+':0xBB,
               ',':0xBC,
               '-':0xBD,
               '.':0xBE,
               '/':0xBF,
               '`':0xC0,
               ';':0xBA,
               '[':0xDB,
               '\\':0xDC,
               ']':0xDD,
               "'":0xDE,
               '`':0xC0}
    
    
    
    def press(*args):
        '''
        one press, one release.
        accepts as many arguments as you want. e.g. press('left_arrow', 'a','b').
        '''
        for i in args:
            win32api.keybd_event(VK_CODE[i], 0,0,0)
            time.sleep(.05)
            win32api.keybd_event(VK_CODE[i],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
    def pressAndHold(*args):
        '''
        press and hold. Do NOT release.
        accepts as many arguments as you want.
        e.g. pressAndHold('left_arrow', 'a','b').
        '''
        for i in args:
            win32api.keybd_event(VK_CODE[i], 0,0,0)
            time.sleep(.05)
               
    def pressHoldRelease(*args):
        '''
        press and hold passed in strings. Once held, release
        accepts as many arguments as you want.
        e.g. pressAndHold('left_arrow', 'a','b').
    
        this is useful for issuing shortcut command or shift commands.
        e.g. pressHoldRelease('ctrl', 'alt', 'del'), pressHoldRelease('shift','a')
        '''
        for i in args:
            win32api.keybd_event(VK_CODE[i], 0,0,0)
            time.sleep(.05)
                
        for i in args:
                win32api.keybd_event(VK_CODE[i],0 ,win32con.KEYEVENTF_KEYUP ,0)
                time.sleep(.1)
                
            
    
    def release(*args):
        '''
        release depressed keys
        accepts as many arguments as you want.
        e.g. release('left_arrow', 'a','b').
        '''
        for i in args:
               win32api.keybd_event(VK_CODE[i],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
    
    def typer(string=None,*args):
    ##    time.sleep(4)
        for i in string:
            if i == ' ':
                win32api.keybd_event(VK_CODE['spacebar'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['spacebar'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == '!':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['1'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['1'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == '@':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['2'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['2'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == '{':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['['], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['['],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == '?':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['/'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['/'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == ':':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE[';'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE[';'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == '"':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['\''], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['\''],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == '}':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE[']'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE[']'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == '#':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['3'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['3'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == '$':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['4'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['4'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == '%':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['5'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['5'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == '^':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['6'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['6'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == '&':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['7'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['7'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == '*':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['8'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['8'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == '(':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['9'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['9'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == ')':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['0'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['0'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == '_':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['-'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['-'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
    
            elif i == '=':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['+'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['+'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == '~':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['`'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['`'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == '<':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE[','], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE[','],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == '>':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['.'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['.'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'A':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['a'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['a'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'B':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['b'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['b'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'C':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['c'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['c'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'D':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['d'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['d'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'E':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['e'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['e'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'F':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['f'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['f'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'G':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['g'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['g'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'H':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['h'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['h'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'I':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['i'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['i'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'J':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['j'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['j'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'K':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['k'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['k'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'L':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['l'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['l'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'M':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['m'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['m'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'N':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['n'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['n'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'O':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['o'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['o'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'P':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['p'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['p'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'Q':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['q'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['q'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'R':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['r'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['r'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'S':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['s'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['s'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'T':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['t'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['t'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'U':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['u'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['u'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'V':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['v'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['v'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'W':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['w'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['w'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'X':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['x'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['x'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'Y':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['y'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['y'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
            elif i == 'Z':
                win32api.keybd_event(VK_CODE['left_shift'], 0,0,0)
                win32api.keybd_event(VK_CODE['z'], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE['left_shift'],0 ,win32con.KEYEVENTF_KEYUP ,0)
                win32api.keybd_event(VK_CODE['z'],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
        
            else:    
                win32api.keybd_event(VK_CODE[i], 0,0,0)
                time.sleep(.05)
                win32api.keybd_event(VK_CODE[i],0 ,win32con.KEYEVENTF_KEYUP ,0)
    
    
    


    参考:

    keybd_event模拟键盘输入

    Vitual keystroke example

     

     

     

    展开全文
  • windows 程序设计

    2011-07-24 21:16:30
    Windows 2.0还增强了键盘和鼠标接口,特别是加入了菜单和对话框。 至此,Windows还只要求Intel 8086或者8088等级的微处理器,以「实际模式」执行,只能存取地址在1MB以下的内存。Windows/386(在Windows 2.0之后...
  • 首先按住键盘上的Windows+r打开运行。 输入regedit打开注册表! 依次展开 current user\software\Microsoft\Windows\CurrentVersion\Explorer\Advanced 在右边新建一个32位的,命名为:ShowSecondsInSystemClock...
  • //声明键盘钩子处理的初始 //在Microsoft SDK的Winuser.h里查询 // http://www.bianceng.cn/Programming/csharp/201410/45484.htm public const int WH_KEYBOARD_LL = 13; //线程键盘钩子监听鼠标消息设为2...
  • 微软同样支持修改多媒体的功能,方法是修改“[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\7]”这样的注册表。 在这个项下,我可以选择三种名:ShellExecute、...
  • 4.5.3 加速 4.5.4 位图 4.5.5 字符串 4.6 DOIView示例程序 第5章 通用控件与WindowsCE 5.1 通用控件编程 5.2 通用控件 5.2.1 命令栏 5.2.2 其他菜单控件 5.2.3 日历控件 5.2.4 时间日期选择器控件 5.2.5 列表视图...
  • Windows编程笔记小结

    2010-07-21 16:35:00
    1、获取设备描述的两种方法:  第一种针对WM_PAINT消息,用BeginPaint(hwnd,&ps),EndPaint(hwnd,&ps)来实现,BeginPaint(hwnd,&ps)返回的是设备描述句柄,这一返回值通常保存在HDC的类型变量中;...
  • 4.5.3 加速 4.5.4 位图 4.5.5 字符串 4.6 DOIView示例程序 第5章 通用控件与WindowsCE 5.1 通用控件编程 5.2 通用控件 5.2.1 命令栏 5.2.2 其他菜单控件 5.2.3 日历控件 5.2.4 时间日期选择器控件 5.2.5 列表视图...
  •  现象:最近我安装了Windows XP操作系统,我知道在启动时按F8或当 计算机不能正常启动时,就会进入Windows XP启动的高级选项菜单,在这里 可以选择除正常启动外的8种不同的模式启动Windows XP。请问这些模式...
  • Microsoft C# Windows程序设计(上下册)

    热门讨论 2011-08-05 10:28:13
    4.3 属性 4.4 格式化为列 4.5 每样东西都是一个对象 4.6 列出系统信息 4.7 windows窗体和滚动条 4.8 滚动面板控件 4.9 scrollablecontrol的继承关系 4.10 没有控件的滚动 4.11 实际数值 4.12 ...
  •  5.6.2 返回状态  5.6.3 检查内存可用性  5.6.4 结构化异常处理(try-except块)  5.6.5 结构化异常处理(try-finally块)  5.6.6 使用宏需要注意的地方  5.6.7 断言  5.7 小结 第6章 Windows内核...
  • Microsoft Windows 系统错误代码简单分析:  0000 操作已成功完成。  0001 错误的函数。  0002 系统找不到指定的文件。  0003 系统找不到指定的路径。  0004 系统无法打开文件。  0005 拒绝访问。...
  •  5.6.2 返回状态  5.6.3 检查内存可用性  5.6.4 结构化异常处理(try-except块)  5.6.5 结构化异常处理(try-finally块)  5.6.6 使用宏需要注意的地方  5.6.7 断言  5.7 小结 第6章 Windows内核...
  • windows实用dos命令大全

    2010-12-10 21:27:35
    (9)利用COPY命令,还可以从键盘上输入数据建立文件,格式如下:COPY CON [盘符:][路径]〈文件名〉;  (10)注意:COPY命令的使用格式,源文件名与目标文件名之间必须有空格!  (二)XCOPY——目录复制命令  ...
  • 很好的一本学习Windows API编程的书籍。 注意,这是第一版的,包括电子书(纯电子版,非扫描版)和源程序。 已经出了第二版,其实跟第一版也差不多...12.3.3 设置和获取位图像素 466 12.3.4 绘制矩形和直线 470
  • 资源->Accelerator->IDR-MAINFRAME 可以打开快捷方式。 当调用CFrameWnd::LoadFrame()初始化一个窗口时,该会被加载。 三栏:ID,Key(),Type(类型...Windows键盘命令。Ctrl+Alt+Del等。 单击快捷键...
  • Linux/Windows均可用,更改随机部分可连接传感器 界面设计 主窗口界面 功能窗口界面 控件及界面美化 QLabel QLineEdit QPushButton QRadioButton QTextBrowser QCheckBox QMessageBox 主窗口及子窗口各一张背景...
  • 控制台访问oracle命令

    2017-05-10 17:47:00
    控制台访问oracle: windows平台 键盘window+r 输入 cmd 回车 输入sqlplus回车 提示你输入用户名和密码 然后回车 desc:查看结构 desc + 表名 set line[size]{80|n}:size为 默认为80 如果屏幕足够大可以...
  • QT实战之智能浴霸

    2020-06-19 10:57:26
    Linux/Windows均可用,更改随机部分可自行连接传感器,sqlite数据库可自行更改为其他数据库。 界面设计 控件及界面美化 QLabel QLineEdit QPushButton QRadioButton QTextBrowser QCheckBox QMessageBox ...
  • Git中CRLF与LF的转换

    2020-01-02 20:00:28
    也就是说当我们在编辑一个文件,在键盘上按下回车的时候,对于不同的操作系统保存到文件中的换行符是不一样的。见下: CR:表示回车\r LF:表示换行\n CRLF:表示回车换行\r\n 敲下回车,不同的操作系统保存到...
  • 使用键盘加速函数可以拷贝、创建、加载或删除加速键表,还可以将加速消息转换为命令消息。 键盘输入函数(Keyboard Input) 键盘输入函数提供了接受和处理键盘输入的方法。 列表框函数(List Box) ...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 317
精华内容 126
关键字:

windows键盘键值表