Qt模拟虚拟键盘实现

Qt模拟虚拟键盘实现

 

每一个按键都有对应的十六进制,实现方法是通过keybd_event函数来实现的。

比如多任务,Ctrl+Alt+Tab ,模拟这个快捷键。

#define  EN_KEY_CTRL 0x11  //CTRL

#define  EN_KEY_ALT  0x12  //ALT

#define  EN_KEY_TAB  0x09  //TAB

void multitask()

{

    int nVK[4] = {0, };

    int nVKNum = 0;

    nVK[0] = (EN_KEY_CTRL);

    nVK[1] = (EN_KEY_ALT);

    nVK[2] = (EN_KEY_TAB);

    nVKNum = 3;

    SimulateKeyToSystem(nVKNum, nVK);

}

void SimulateKeyToSystem(int nVKNum, int *nVK)

{

    INT32 i = 0;

    char cExtendFlag = 0;

    //模拟按键消息

    for (i=0; i<nVKNum; i++)

    {

       keybd_event(nVK[i], MapVirtualKey(nVK[i], 0), cExtendFlag, 0);

    }

    for (i=0; i<nVKNum; i++)

{

keybd_event(nVK[i], MapVirtualKey(nVK[i], 0),

cExtendFlag | KEYEVENTF_KEYUP, 0);

    }

}

你可能感兴趣的:(Qt模拟虚拟键盘实现)