win32中是否有一个函数可以获取CTRL,ALT或大写锁定键的虚拟键代码&返回一个字符串,说“CTRL”,“ALT”,“CAPSLOCK”?
我只能接收WM_KEYDOWN消息,但不能接收WM_CHAR消息。我知道我可以通过将虚拟键代码传递给函数ToUnicode()&来确定按下了什么字符键。它会告诉我按下了什么字符键。
但是如果我传递CTRL虚拟键码,那么该函数不会返回任何内容。
char keyPressed[256];
KBDLLHOOKSTRUCT kbdStruct = *((KBDLLHOOKSTRUCT*)lParam);
GetKeyboardState((PBYTE)&keyState);
ToUnicode(kbdStruct.vkCode, kbdStruct.scanCode, (PBYTE)&keyState, (LPWSTR)&keyPressed, sizeof(keyPressed) / 2, 0);
// so if the key pressed was 'a' then keyPressed = "a";
// & if the key pressed was CTRL then keyPressed = "CTRL";