Такие типы конверсии можно легко выполнить с помощью справочных таблиц. В C ++ вы можете использовать std::map
для этой цели. Есть много других возможностей.
Пожалуйста, посмотрите пример ниже:
#include <iostream>
#include <map>
#include <string>
constexpr unsigned int VK_F1 = 0x70;
constexpr unsigned int VK_F2 = 0x71;
constexpr unsigned int VK_F3 = 0x72;
constexpr unsigned int VK_F4 = 0x73;
constexpr unsigned int VK_F5 = 0x74;
constexpr unsigned int VK_F6 = 0x75;
std::map<std::string, unsigned int> lookup{
{"F1", VK_F1},
{"F2", VK_F2},
{"F3", VK_F3},
{"F4", VK_F4},
{"F5", VK_F5},
{"F6", VK_F6},
};
int main() {
unsigned int virtualKeyCode{ 0 };
std::string keyString{};
keyString = "F6";
virtualKeyCode = lookup[keyString];
std::cout << std::hex << virtualKeyCode << "\n";
return 0;
}
Конечно, вам нужно расширить для дальнейших ключей.