根据键盘键值取得键名的问题!
char str[100];
::GetKeyNameText(::MapVirtualKey(nKeyCode,0)<<16,str,100);
以上语句是我从网上苦苦搜寻而来的。
现在不是在PreTranslateMessage或OnKeyDown里面,没有GetKeyNameText()所需的第一个参数,所以只能通过MapVirtualKey()生成。
不过诸如VK_LEFT,VK_DELETE之类的按键,因为GetKeyNameText所需的第一个参数的第25位为1,而MapVirtualKey()所返回的值却不包含这个位的内容即为0,导致与小键盘的按键名称混淆。
请教各位高人,应如何获得VK_LEFT,VK_DELETE之类的正确键名呢?