Не очень хорошая идея, эти имена не являются постоянными:
Имя клавиши переводится в соответствии с раскладкой установленной на данный момент клавиатуры, поэтому функция может давать разные результаты для разных языков ввода.
Если вы в отчаянии, я полагаю, что вы можете позвонить GetKeyNameText
в цикле, пробуя все возможные коды сканирования.
MapVirtualKey
может преобразовать скан-код в виртуальный ключ, если вам также необходимо это сделать. Виртуальные клавиши стабильны на всех клавиатурах и во всех версиях Windows.
Я бы посоветовал вам жестко закодировать некоторые из распространенных имен с виртуальными клавишами, такими как A-Z, 0-9, Ctrl, Alt, Shift, Home, Insert и т. Д., И сохранить их как текст на английском языке. Храните скан-код только для других странных ключей.