/**
* 函数名称: GetCharFromKey
* 函数功能:返回键盘输入的字符
* 函数参数:
* wKey 键盘虚拟键
* 返回值: 返回虚拟键对应的字符,无匹配则返回 ' '
*/
TCHAR GetCharFromKey(WORD wKey)
{
TCHAR cKey = _T(' ');
if (wKey >= 0x41 && wKey <= 0x5A) // A-Z
{
cKey = wKey;
}
else if (wKey >= 0x60 && wKey <= 0x69) // numpad
{
cKey = wKey - 0x30;
}
else
{
int nPress = GetAsyncKeyState(VK_SHIFT);
switch (wKey)
{
case 0xC0:
if (nPress)
cKey = 0x7E; // ~
else
cKey = 0x60; // `
break;
case 0x31:
if (nPress)
cKey = 0x21; // !
else
cKey = 0x31; // 1
break;
case 0x32:
if (nPress)
cKey = 0x40; // @
else
cKey = 0x32; // 2
break;
case 0x33:
if (nPress)
cKey = 0x23; // #
else
cKey = 0x33; // 3
break;
case 0x34:
if (nPress)
cKey = 0x24; // $
else
cKey = 0x34; // 4
break;
case 0x35:
if (nPress)
cKey = 0x25; // %
else
cKey = 0x35; // 5
break;
case 0x36:
if (nPress)
cKey = 0x5E; // ^
else
cKey = 0x36; // 6
break;
case 0x37:
if (nPress)
cKey = 0x26; // &
else
cKey = 0x37; // 7
break;
case 0x38:
if (nPress)
cKey = 0x2A; // *
else
cKey = 0x38; // 8
break;
case 0x39:
if (nPress)
cKey = 0x28; // (
else
cKey = 0x39; // 9
break;
case 0x30:
if (nPress)
cKey = 0x29; // )
else
cKey = 0x30; // 0
break;
case 0xBD:
if (nPress)
cKey = 0x2D; // -
else
cKey = 0x5F; // _
break;
case 0xBB:
if (nPress)
cKey = 0x2B; // +
else
cKey = 0x3D; // =
break;
case 0xDC:
if (nPress)
cKey = 0x7C; // |
else
cKey = 0x5C; // '\'
break;
case 0xDB:
if (nPress)
cKey = 0x7B; // {
else
cKey = 0x5B; // [
break;
case 0xDD:
if (nPress)
cKey = 0x7D; // }
else
cKey = 0x5D; // ]
break;
case 0xBA:
if (nPress)
cKey = 0x3A; // :
else
cKey = 0x3B; // ;
break;
case 0xDE:
if (nPress)
cKey = 0x22; // "
else
cKey = 0x27; // '
break;
case 0xBC:
if (nPress)
cKey = 0x3C; // <
else
cKey = 0x2C; // ,
break;
case 0xBE:
if (nPress)
cKey = 0x3E; // >
else
cKey = 0x2E; // .
break;
case 0xBF:
if (nPress)
cKey = 0x3F; // ?
else
cKey = 0x2F; // /
break;
case 0x6F:
cKey = 0x2F; // /
break;
case 0x6A:
cKey = 0x2A; // *
break;
case 0x6D:
cKey = 0x2D; // -
break;
case 0x6B: // +
cKey = 0x2B;
break;
case 0x6E:
cKey = 0x2E; // .
break;
default:
break;
}
}
return cKey;
}
根据虚拟键获取字符
最新推荐文章于 2024-01-19 16:07:04 发布