|

楼主 |
发表于 2007-11-14 09:15:59
|
显示全部楼层
回复: 如何用用程序模拟键盘来控制 Media Player 7?
希望下面的一些代码对你有所启发
void CParameterSet::KeyDown(BYTE KeyData)
{
int vk;
switch(KeyData)
{
case 0x30://'0'
vk=VkKeyScan('0')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x31://'1'
vk=VkKeyScan('1')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x32://'2'
vk=VkKeyScan('2')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x33://'3'
vk=VkKeyScan('3')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x34://'4'
vk=VkKeyScan('4')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x35://'5'
vk=VkKeyScan('5')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x36://'6'
vk=VkKeyScan('6')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x37://'7'
vk=VkKeyScan('7')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x38://'8'
vk=VkKeyScan('8')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x39://'9'
vk=VkKeyScan('9')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x41://'A'
vk=VkKeyScan('A')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x42://'B'
vk=VkKeyScan('B')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x43://'C'
vk=VkKeyScan('C')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x44://'D'
vk=VkKeyScan('D')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x45://'E'
vk=VkKeyScan('E')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x46://'F'
vk=VkKeyScan('F')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x47://'G'
vk=VkKeyScan('G')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x48://'H'
vk=VkKeyScan('H')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x49://'I'
vk=VkKeyScan('I')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x4A://'J'
vk=VkKeyScan('J')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x4B://'K'
vk=VkKeyScan('K')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x4C://'L'
vk=VkKeyScan('L')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x4D://'M'
vk=VkKeyScan('M')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x4E://'N'
vk=VkKeyScan('N')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x4F://'O'
vk=VkKeyScan('O')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x50://'P'
vk=VkKeyScan('P')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x51://'Q'
vk=VkKeyScan('Q')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x52://'R'
vk=VkKeyScan('R')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x53://'S'
vk=VkKeyScan('S')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x54://'T'
vk=VkKeyScan('T')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x55://'U'
vk=VkKeyScan('U')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x56://'V'
vk=VkKeyScan('V')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x57://'W'
vk=VkKeyScan('W')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x58://'X'
vk=VkKeyScan('X')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x59://'Y'
vk=VkKeyScan('Y')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x5A://'Z'
vk=VkKeyScan('Z')&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x5B://'TAB'
//vk=VkKeyScan(VK_TAB);
vk=VK_TAB;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x5C://'确认'
vk=VkKeyScan(0x0D)&0xFF;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x5D://'取消'
vk=VK_CANCEL;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x5E://'复位'
break;
case 0x5F://'删除'
vk=VK_DELETE;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x60://'UP'
vk=VK_UP;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x61://'DOWN'
vk=VK_DOWN;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x62://'LEFT'
vk=VK_LEFT;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
case 0x63://'RIGHT'
vk=VK_RIGHT;
keybd_event(vk,0,0,0);
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
break;
default:
break;
}
} |
|