[转载]整理分享C#通过user32.dll模拟物理按键操作的代码 - 斯克迪亚 - 博客园

[转载]整理分享C#通过user32.dll模拟物理按键操作的代码 – 斯克迪亚 – 博客园.

对系统模拟按键方面的知识和按键映射代码做了一下梳理,在这里分享出来,适用于开发自动操作工具和游戏外挂。

主代码:

<span class="kwd">public</span><span class="pln"> </span><span class="kwd">const</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> KEYEVENTF_EXTENDEDKEY </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x0001</span><span class="pun">;</span><span class="pln"> </span><span class="com">//Key click flag</span><span class="pln">
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">const</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> KEYEVENTF_KEYUP </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x0002</span><span class="pun">;</span><span class="pln"> </span><span class="com">//Key up flag</span><span class="pln">
        </span><span class="pun">[</span><span class="typ">DllImport</span><span class="pun">(</span><span class="str">"user32.dll"</span><span class="pun">)]</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">extern</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> keybd_event</span><span class="pun">(</span><span class="kwd">byte</span><span class="pln"> bVk</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">byte</span><span class="pln"> bSCan</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> dwFlags</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> dwExtraInfo</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">[</span><span class="typ">DllImport</span><span class="pun">(</span><span class="str">"user32.dll"</span><span class="pun">)]</span><span class="pln">
        </span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">extern</span><span class="pln"> </span><span class="kwd">byte</span><span class="pln"> </span><span class="typ">MapVirtualKey</span><span class="pun">(</span><span class="kwd">byte</span><span class="pln"> wCode</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> wMap</span><span class="pun">);</span><span class="pln">
 
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> </span><span class="pun">模拟按下按键(</span><span class="typ">VirtualKeyCode</span><span class="pln"> </span><span class="pun">虚拟按键代码)</span><span class="pln">
        </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> code </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">byte</span><span class="pun">)虚拟按键代码;</span><span class="pln">
            keybd_event</span><span class="pun">(</span><span class="pln">code</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
 
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> </span><span class="pun">模拟弹起按键(</span><span class="typ">VirtualKeyCode</span><span class="pln"> </span><span class="pun">虚拟按键代码)</span><span class="pln">
        </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> code </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">byte</span><span class="pun">)</span><span class="pln"> </span><span class="pun">虚拟按键代码;</span><span class="pln">
            keybd_event</span><span class="pun">(</span><span class="pln">code</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> KEYEVENTF_KEYUP</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
 
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> </span><span class="pun">模拟单击按键(</span><span class="typ">VirtualKeyCode</span><span class="pln"> </span><span class="pun">虚拟按键代码)</span><span class="pln">
        </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> code </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">byte</span><span class="pun">)虚拟按键代码;</span><span class="pln">
            keybd_event</span><span class="pun">(</span><span class="pln">code</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> KEYEVENTF_EXTENDEDKEY</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span>

网上关于keybd_event的dwFlags参数功能说法很混乱,经我测试貌似是KEYEVENTF_EXTENDEDKEY表示一次单击,0表示按下,KEYEVENTF_KEYUP表示弹起,不一定完全正确,希望高人指点一下。

另外MapVirtualKey的作用实在不懂,所以就没用上,看到有人这么调用不知有什么区别:

<span class="kwd">var</span><span class="pln"> code </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">byte</span><span class="pun">)虚拟按键代码;</span><span class="pln">
            keybd_event</span><span class="pun">(</span><span class="pln">code</span><span class="pun">,</span><span class="pln"> </span><span class="typ">MapVirtualKey</span><span class="pun">(</span><span class="pln">code</span><span class="pun">,</span><span class="lit">0</span><span class="pun">),</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span>

我试过好像也没什么变化~到底MapVirtualKey是干什么用的呢??

VirtualKeyCode枚举:

<span class="com">/// <summary></span><span class="pln">
    </span><span class="com">/// 虚拟按键代码</span><span class="pln">
    </span><span class="com">/// 参考于 http://msdn.microsoft.com/zh-cn/library/dd375731(v=vs.85).aspx</span><span class="pln">
    </span><span class="com">/// </summary></span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">enum</span><span class="pln"> </span><span class="typ">VirtualKeyCode</span><span class="pln">
    </span><span class="pun">{</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Left mouse button</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Left_mouse_button</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x01</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Right mouse button</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Right_mouse_button</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x02</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Control-break processing</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Control_break_processing</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x03</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Middle mouse button (three-button mouse)</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Middle_mouse_button</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x04</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// X1 mouse button</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        X1_mouse_button </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x05</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// X2 mouse button</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        X2_mouse_button </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x06</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Undefined</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Undefined1</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x07</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// BACKSPACE key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        BACKSPACE_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x08</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// TAB key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        TAB_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x09</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// CLEAR key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        CLEAR_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x0C</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// ENTER key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        ENTER_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x0D</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// SHIFT key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        SHIFT_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x10</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// CTRL key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        CTRL_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x11</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// ALT key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        ALT_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x12</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// PAUSE key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        PAUSE_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x13</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// CAPS LOCK key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        CAPS_LOCK_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x14</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// IME Kana mode</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        IME_Kana_mode </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x15</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// IME Hanguel mode (maintained for compatibility; use VK_HANGUL)</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        IME_Hanguel_mode </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x15</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// IME Hangul mode</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        IME_Hangul_mode </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x15</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Undefined</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Undefined2</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x16</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// IME Junja mode</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        IME_Junja_mode </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x17</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// IME final mode</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        IME_final_mode </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x18</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// IME Hanja mode</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        IME_Hanja_mode </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x19</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// IME Kanji mode</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        IME_Kanji_mode </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x19</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Undefined</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Undefined</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x1A</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// ESC key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        ESC_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x1B</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// IME convert</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        IME_convert </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x1C</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// IME nonconvert</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        IME_nonconvert </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x1D</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// IME accept</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        IME_accept </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x1E</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// IME mode change request</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        IME_mode_change_request </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x1F</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// SPACEBAR</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        SPACEBAR </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x20</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// PAGE UP key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        PAGE_UP_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x21</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// PAGE DOWN key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        PAGE_DOWN_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x22</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// END key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        END_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x23</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// HOME key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        HOME_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x24</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// LEFT ARROW key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        LEFT_ARROW_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x25</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// UP ARROW key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        UP_ARROW_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x26</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// RIGHT ARROW key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        RIGHT_ARROW_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x27</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// DOWN ARROW key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        DOWN_ARROW_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x28</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// SELECT key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        SELECT_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x29</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// PRINT key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        PRINT_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x2A</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// EXECUTE key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        EXECUTE_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x2B</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// PRINT SCREEN key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        PRINT_SCREEN_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x2C</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// INS key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        INS_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x2D</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// DEL key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        DEL_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x2E</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// HELP key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        HELP_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x2F</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// 0 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        _0_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x30</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// 1 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        _1_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x31</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// 2 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        _2_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x32</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// 3 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        _3_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x33</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// 4 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        _4_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x34</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// 5 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        _5_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x35</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// 6 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        _6_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x36</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// 7 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        _7_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x37</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// 8 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        _8_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x38</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// 9 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        _9_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x39</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// A key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        A_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x41</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// B key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        B_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x42</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// C key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        C_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x43</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// D key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        D_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x44</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// E key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        E_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x45</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x46</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// G key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        G_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x47</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// H key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        H_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x48</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// I key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        I_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x49</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// J key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        J_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x4A</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// K key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        K_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x4B</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// L key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        L_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x4C</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// M key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        M_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x4D</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// N key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        N_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x4E</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// O key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        O_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x4F</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// P key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        P_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x50</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Q key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        Q_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x51</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// R key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        R_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x52</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// S key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        S_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x53</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// T key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        T_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x54</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// U key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        U_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x55</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// V key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        V_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x56</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// W key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        W_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x57</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// X key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        X_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x58</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Y key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        Y_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x59</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Z key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        Z_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x5A</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Left Windows key (Natural keyboard)</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Left_Windows_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x5B</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Right Windows key (Natural keyboard)</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Right_Windows_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x5C</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Applications key (Natural keyboard)</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Applications_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x5D</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Reserved</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Reserved1</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x5E</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Computer Sleep key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Computer_Sleep_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x5F</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Numeric keypad 0 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Numeric_keypad_0_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x60</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Numeric keypad 1 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Numeric_keypad_1_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x61</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Numeric keypad 2 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Numeric_keypad_2_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x62</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Numeric keypad 3 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Numeric_keypad_3_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x63</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Numeric keypad 4 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Numeric_keypad_4_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x64</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Numeric keypad 5 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Numeric_keypad_5_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x65</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Numeric keypad 6 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Numeric_keypad_6_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x66</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Numeric keypad 7 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Numeric_keypad_7_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x67</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Numeric keypad 8 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Numeric_keypad_8_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x68</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Numeric keypad 9 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Numeric_keypad_9_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x69</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Multiply key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Multiply_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x6A</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Add key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Add_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x6B</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Separator key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Separator_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x6C</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Subtract key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Subtract_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x6D</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Decimal key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Decimal_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x6E</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Divide key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Divide_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x6F</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F1 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F1_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x70</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F2 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F2_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x71</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F3 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F3_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x72</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F4 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F4_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x73</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F5 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F5_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x74</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F6 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F6_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x75</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F7 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F7_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x76</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F8 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F8_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x77</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F9 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F9_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x78</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F10 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F10_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x79</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F11 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F11_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x7A</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F12 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F12_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x7B</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F13 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F13_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x7C</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F14 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F14_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x7D</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F15 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F15_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x7E</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F16 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F16_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x7F</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F17 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F17_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x80</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F18 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F18_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x81</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F19 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F19_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x82</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F20 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F20_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x83</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F21 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F21_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x84</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F22 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F22_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x85</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F23 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F23_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x86</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// F24 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        F24_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x87</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// NUM LOCK key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        NUM_LOCK_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x90</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// SCROLL LOCK key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        SCROLL_LOCK_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x91</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Left SHIFT key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Left_SHIFT_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xA0</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Right SHIFT key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Right_SHIFT_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xA1</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Left CONTROL key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Left_CONTROL_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xA2</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Right CONTROL key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Right_CONTROL_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xA3</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Left MENU key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Left_MENU_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xA4</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Right MENU key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Right_MENU_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xA5</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Browser Back key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Browser_Back_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xA6</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Browser Forward key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Browser_Forward_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xA7</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Browser Refresh key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Browser_Refresh_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xA8</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Browser Stop key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Browser_Stop_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xA9</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Browser Search key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Browser_Search_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xAA</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Browser Favorites key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Browser_Favorites_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xAB</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Browser Start and Home key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Browser_Start_and_Home_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xAC</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Volume Mute key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Volume_Mute_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xAD</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Volume Down key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Volume_Down_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xAE</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Volume Up key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Volume_Up_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xAF</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Next Track key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Next_Track_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xB0</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Previous Track key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Previous_Track_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xB1</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Stop Media key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Stop_Media_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xB2</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Play/Pause Media key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Play_Or_Pause_Media_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xB3</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Start Mail key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Start_Mail_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xB4</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Select Media key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Select_Media_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xB5</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Start Application 1 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Start_Application_1_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xB6</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Start Application 2 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Start_Application_2_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xB7</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Used for miscellaneous characters; it can vary by keyboard.</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Used_for_miscellaneous_characters1</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xBA</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Used for miscellaneous characters; it can vary by keyboard.</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Used_for_miscellaneous_characters2</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xBF</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Used for miscellaneous characters; it can vary by keyboard.</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Used_for_miscellaneous_characters3</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xC0</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Used for miscellaneous characters; it can vary by keyboard.</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Used_for_miscellaneous_characters4</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xDB</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Used for miscellaneous characters; it can vary by keyboard.</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Used_for_miscellaneous_characters5</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xDC</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Used for miscellaneous characters; it can vary by keyboard.</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Used_for_miscellaneous_characters6</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xDD</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Used for miscellaneous characters; it can vary by keyboard.</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Used_for_miscellaneous_characters7</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xDE</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Used for miscellaneous characters; it can vary by keyboard.</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Used_for_miscellaneous_characters8</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xDF</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Reserved</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Reserved2</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xE0</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// OEM specific</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        OEM_specific1 </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xE1</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Either the angle bracket key or the backslash key on the RT 102-key keyboard</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Either_the_angle_bracket_key_or_the_backslash_key_on_the_RT_102_key_keyboard</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xE2</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// IME PROCESS key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        IME_PROCESS_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xE5</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// OEM specific</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        OEM_specific2 </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xE6</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Used to pass Unicode characters as if they were keystrokes. The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in KEYBDINPUT, SendInput, WM_KEYDOWN, and WM_KEYUP</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Used_to_pass_Unicode_characters_as_if_they_were_keystrokes</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xE7</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Unassigned</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Unassigned</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xE8</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Attn key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Attn_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xF6</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// CrSel key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">CrSel_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xF7</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// ExSel key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">ExSel_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xF8</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Erase EOF key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Erase_EOF_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xF9</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Play key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Play_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xFA</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Zoom key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Zoom_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xFB</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Reserved</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Reserved</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xFC</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// PA1 key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        PA1_key </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xFD</span><span class="pun">,</span><span class="pln">
        </span><span class="com">/// <summary></span><span class="pln">
        </span><span class="com">/// Clear key</span><span class="pln">
        </span><span class="com">/// </summary></span><span class="pln">
        </span><span class="typ">Clear_key</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xFE</span><span class="pln">
    </span><span class="pun">}</span>

调用演示:

<span class="pln">
 
</span><span class="com">//模拟实现Ctrl+O操作</span><span class="pln">
</span><span class="pun">模拟按下按键(</span><span class="typ">VirtualKeyCode</span><span class="pun">.</span><span class="pln">CTRL_key</span><span class="pun">)</span><span class="pln">
</span><span class="pun">模拟单击按键(</span><span class="typ">VirtualKeyCode</span><span class="pun">.</span><span class="pln">O_key</span><span class="pun">)</span><span class="pln">
</span><span class="pun">模拟弹起按键(</span><span class="typ">VirtualKeyCode</span><span class="pun">.</span><span class="pln">CTRL_key</span><span class="pun">)</span><span class="pln">
</span>
赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

登录

注册