void SetCapsLock(BOOL bState) 

BYTE KeyState[256]; //获取当前按键情况
GetKeyboardState(KeyState);
//判断当前状态是否跟需要设置的一致,如果不是,
//则模拟发送一次cpas lock键
if((bState&&!(KeyState[0x14]&0x01))
  ||(!bState&&(KeyState[0x14]&0x01))) 
  {
   //模拟一次按键按下
   keybd_event(0x14,0x45,0x01,0); 
   //模拟一次按键释放
   keybd_event(0x14,0x45,0x03,0); 
  }
}
找到一段不知道 是否能用?哎 pc软件太菜 能否做成工程后 提供给我呢?如VC6的工程。谢谢。

解决方案 »

  1.   

    把上面的代码试试不就知道了?我觉得跟USB接口没多大关系。
      

  2.   

    与USB接口是驱动的事情,我们只要调用即可!
      

  3.   

    void SetCapsLock(BOOL bState)
    {
    BYTE kbState[256]; GetKeyboardState(kbState);
    if (bState != (kbState[VK_CAPITAL] & 1))
    {
    keybd_event(VK_CAPITAL, 0, 0, 0);
    keybd_event(VK_CAPITAL, 0, KEYEVENTF_KEYUP, 0);
    }
    }
    随便一个工程,需要设置的时候调用这个函数就可以了。
      

  4.   

    用vc建一个console程序,把这个代码拷贝进去,然后在main里面调用下,就可以看到结果了
      

  5.   


    新建一个console程序,simple类型的然后把下面的代码覆盖你的.cpp文件#include "stdafx.h"
    #include "windows.h"void SetCapsLock(BOOL bState)
    {
      BYTE kbState[256];
      
      GetKeyboardState(kbState);
      if (bState != (kbState[VK_CAPITAL] & 1))
      {
        keybd_event(VK_CAPITAL, 0, 0, 0);
        keybd_event(VK_CAPITAL, 0, KEYEVENTF_KEYUP, 0);
      }
    }
    int main(int argc, char* argv[])
    {
      SetCapsLock(TRUE); return 0;
    }
      

  6.   

    #include <windows.h>
    #include <winuser.h>
      

  7.   

    只包含windows.h就够了,windows.h中会包含winuser.h。