我需要依顺序键入“F2”,“Ctrl+c”,“Ctrl+v”然后不断重复键入上述键。
我想用一个Ctrl加一个字母键代替上面的键入,然后再键入一个键停止循环。
该如何实现?

解决方案 »

  1.   

    给你一个我写的模拟键盘输入组合键的函数,希望有所帮助void SimulateOverlapKeyin(const BYTE *bVk, int nCount)
    {
    WriteToLog("[SimulateOverlapKeyin] Function begin.");

    if (NULL == bVk || nCount < 1)
    {
    WriteToLog("[SimulateOverlapKeyin] Invalid param.");
    WriteToLog("[SimulateOverlapKeyin] Function end.");
    return;
    }

    LPINPUT input;
    input = new INPUT[nCount * 2];
    ZeroMemory(input, (2 * nCount) * sizeof(INPUT));

    int i;
    for (i = 0; i < nCount; i++)
    {
    input[i].type = input[nCount + i].type = INPUT_KEYBOARD;
    input[i].ki.wVk = input[nCount + i].ki.wVk = bVk[i];
    input[nCount + i].ki.dwFlags = KEYEVENTF_KEYUP;

    input[i].ki.time = input[nCount + i].ki.time = GetTickCount();
    }

      SendInput(2 * nCount, input, sizeof(INPUT));
      delete []input;
      
      WriteToLog("[SimulateOverlapKeyin] Function end.");
    }