帮忙看看一下都是什么事件,例如ctrl+c--复制,ctrl+v--粘贴什么的
            
            
            keybd_event(VK_SHIFT, 42, KEYEVENTF_KEYUP, NULL);
            keybd_event(VK_SHIFT, 54, KEYEVENTF_KEYUP, NULL);
            keybd_event(VK_MENU , 56, KEYEVENTF_KEYUP, NULL);                  keybd_event(VK_CONTROL, 29, NULL, NULL);
keybd_event(VK_INSERT ,146, NULL, NULL);
keybd_event(VK_INSERT ,146, KEYEVENTF_KEYUP, NULL);
keybd_event(VK_CONTROL, 29, KEYEVENTF_KEYUP, NULL);

解决方案 »

  1.   

    模拟键盘动作API函数keydb_event,它可以模拟对键盘上的某个或某些键进行按下或放开的动作。   VOID keybd_event(
         BYTE bVk, // 虚拟键值。
         BYTE bScan, // 硬件扫描码。
         DWORD dwFlags, // 动作标识。
         DWORD dwExtraInfo // 与键盘动作关联的辅加信息。
       );   其中,bVk表示虚拟键值,其实它是一个BYTE类型值的宏,其取值范围为1-254。有关虚拟键值表请在MSDN上使用关键字“Virtual-Key Codes”查找相关资料。bScan表示当键盘上某键被按下和放开时,键盘系统硬件产生的扫描码,我们可以MapVirtualKey()函数在虚拟键值与扫描码之间进行转换。dwFlags表示各种各样的键盘动作,它有两种取值:KEYEVENTF_EXTENDEDKEY和KEYEVENTF_KEYUP。  下面我们使用一段代码实现在游戏中按下Shift+R快捷键对攻击对象进行攻击。   keybd_event(VK_CONTROL,MapVirtualKey(VK_CONTROL,0),0,0); //按下CTRL键。
       keybd_event(0x52,MapVirtualKey(0x52,0),0,0);//键下R键。
       keybd_event(0x52,MapVirtualKey(0x52,0), KEYEVENTF_KEYUP,0);//放开R键。
       keybd_event(VK_CONTROL,MapVirtualKey(VK_CONTROL,0), 
       KEYEVENTF_KEYUP,0);//放开CTRL键。 
      

  2.   

    keybd_event(VK_CONTROL, 29, NULL, NULL);
    keybd_event(VK_INSERT ,146, NULL, NULL);
    keybd_event(VK_INSERT ,146, KEYEVENTF_KEYUP, NULL);
    keybd_event(VK_CONTROL, 29, KEYEVENTF_KEYUP, NULL);
    按下ctrl+insert
      

  3.   

    模拟键盘按键操作 
    keybd_event(VK_SHIFT, 42, KEYEVENTF_KEYUP, NULL);shift键弹起
    KEYEVENTF_KEYUP为0或NUll是按下 两个成对出现 按下后谈起 构成一次按键操作也可以组合起来 构成组合按键 比如
    下面我们使用一段代码实现在游戏中按下Shift+R快捷键对攻击对象进行攻击。   keybd_event(VK_CONTROL,MapVirtualKey(VK_CONTROL,0),0,0); //按下CTRL键。
       keybd_event(0x52,MapVirtualKey(0x52,0),0,0);//键下R键。
       keybd_event(0x52,MapVirtualKey(0x52,0), KEYEVENTF_KEYUP,0);//放开R键。
       keybd_event(VK_CONTROL,MapVirtualKey(VK_CONTROL,0), 
       KEYEVENTF_KEYUP,0);//放开CTRL键。