如何获取按键的虚拟按键码

Nog*_*oga 2 python ascii

我正在尝试编写一个函数来接收 ASCII 键并将其转换为虚拟键代码。

前任:

from msvcrt import getch
key= ord(getch()) #getting the ASCII character for a key that was pressed
def(key):
   #converting the key to virtual key code
Run Code Online (Sandbox Code Playgroud)

例如:a的ascii码是41。我希望函数接收它并返回0x41——这是该键的虚拟键码。

预先感谢您的任何帮助!

dim*_*4eg 5

您可以从 Windows API 使用 VkKeyScan:

from ctypes import windll

def char2key(c):
    # https://msdn.microsoft.com/en-us/library/windows/desktop/ms646329(v=vs.85).aspx
    result = windll.User32.VkKeyScanW(ord(unicode(c)))
    shift_state = (result & 0xFF00) >> 8
    vk_key = result & 0xFF

    return vk_key
Run Code Online (Sandbox Code Playgroud)