正在做一个项目,是用遥控器来操作电脑,当按遥控器上的按钮后(遥控器相当于一个无线的小键盘),
在电脑上模拟相应的键盘事件,现在已经把遥控器那边传来的按键信息取到了, 但不知该怎样
去实现相应的键盘事件.举个例子如果我按遥控器上的 alt+tab 键则进行窗口的转换,就相当于在
本机上按相应的按键.该怎样实现啊???
最好有原码??

解决方案 »

  1.   

    你既然已经可以接收到遥控器过来的信息,那么你就相应的把信息转换成键盘消息发送给Windows不就可以啦
      

  2.   

    用keybd_eventThe keybd_event function synthesizes a keystroke. The system can use such a synthesized keystroke to generate a WM_KEYUP or WM_KEYDOWN message. The keyboard driver's interrupt handler calls the keybd_event function. Windows NT/2000/XP: This function has been superseded. Use SendInput instead.VOID keybd_event(
      BYTE bVk,               // virtual-key code
      BYTE bScan,             // hardware scan code
      DWORD dwFlags,          // function options
      ULONG_PTR dwExtraInfo   // additional keystroke data
    );
    Parameters
    bVk 
    [in] Specifies a virtual-key code. The code must be a value in the range 1 to 254. For a complete list, see Virtual-Key Codes. 
    bScan 
    This parameter is not used. 
    dwFlags 
    [in] Specifies various aspects of function operation. This parameter can be one or more of the following values. Value Meaning 
    KEYEVENTF_EXTENDEDKEY If specified, the scan code was preceded by a prefix byte having the value 0xE0 (224). 
    KEYEVENTF_KEYUP If specified, the key is being released. If not specified, the key is being depressed. 
    dwExtraInfo 
    [in] Specifies an additional value associated with the key stroke. 
    Return Values
    This function has no return value. Res
    An application can simulate a press of the PRINTSCRN key in order to obtain a screen snapshot and save it to the clipboard. To do this, call keybd_event with the bVk parameter set to VK_SNAPSHOT. Windows NT/2000/XP: The keybd_event function can toggle the NUM LOCK, CAPS LOCK, and SCROLL LOCK keys. Windows 95/98/Me: The keybd_event function can toggle only the CAPS LOCK and SCROLL LOCK keys. It cannot toggle the NUM LOCK key.Example Code
    The following sample program toggles the NUM LOCK light by using keybd_event() with a virtual key of VK_NUMLOCK. It takes a Boolean value that indicates whether the light should be turned off (FALSE) or on (TRUE). The same technique can be used for the CAPS LOCK key (VK_CAPITAL) and the SCROLL LOCK key (VK_SCROLL).    #include <windows.h>   void SetNumLock( BOOL bState )
       {
          BYTE keyState[256];      GetKeyboardState((LPBYTE)&keyState);
          if( (bState && !(keyState[VK_NUMLOCK] & 1)) ||
              (!bState && (keyState[VK_NUMLOCK] & 1)) )
          {
          // Simulate a key press
             keybd_event( VK_NUMLOCK,
                          0x45,
                          KEYEVENTF_EXTENDEDKEY | 0,
                          0 );      // Simulate a key release
             keybd_event( VK_NUMLOCK,
                          0x45,
                          KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
                          0);
          }
       }   void main()
       {
          SetNumLock( TRUE );
       }
    Requirements 
      Windows NT/2000/XP: Included in Windows NT 3.1 and later.
      Windows 95/98/Me: Included in Windows 95 and later.
      Header: Declared in Winuser.h; include Windows.h.
      Library: Use User32.lib.