Как нажимать клавиши на клавиатуре без использования клавиатуры? - PullRequest
0 голосов
/ 18 апреля 2010

Я хочу, чтобы моя программа нажимала определенные клавиши на моей клавиатуре, а я физически не делал.

Как мне это сделать?

Редактировать: нашел эту функцию keybd_event (). кажется, работает http://www.codeproject.com/KB/cpp/sendkeys_cpp_Article.aspx

Ответы [ 3 ]

1 голос
/ 18 апреля 2010

Существует функция SendInput , которая может генерировать нажатия клавиш и другие виды ввода. Я использовал для создания приложений, похожих на виртуальные клавиатуры.

Пример использования Unicode:

// This may be needed
// #define _WIN32_WINNT 0x0501 

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

void    pressKey(WORD a_unicode)    
{       
        KEYBDINPUT kbinput;
        ZeroMemory(&kbinput, sizeof(kbinput));
        kbinput.wScan = a_unicode;
        kbinput.dwFlags = KEYEVENTF_UNICODE; 
        kbinput.time = 0;

        INPUT input;
        ZeroMemory(&input, sizeof(input));
        input.type = INPUT_KEYBOARD;
        input.ki = kbinput;

        SendInput(1, &input, sizeof(input));
}   
0 голосов
/ 18 апреля 2010

Использование SendMessage с WM_KEYDOWN

Пример:

SendMessage(hwnd, WM_KEYDOWN, VK_T, NULL);
0 голосов
/ 18 апреля 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...