Visual C ++ отправляет текст на курсор

Я использую считыватель NFC для чтения UID карты M1, и я хотел бы вставить эту строку UID в любое место, где находится курсор в данный момент.
например в поле url, в блокноте, (как устройство ввода считывателя штрих-кода, но на этот раз с UFC NID)

Я реализовал функцию для чтения UID, и теперь я хотел бы выполнить мою вторую часть — вставить UID в любое место, где находится курсор.

Я использую Visual C ++, есть идеи?

0

Решение

Если вы хотите смоделировать нажатие клавиши, вы можете добавить события ввода:

INPUT inp;

inp.ki.dwFlags = 0;
inp.ki.wVk = 'A';
inp.ki.wScan = 0;
inp.ki.time = 0;
inp.ki.dwExtraInfo = NULL;
inp.type = INPUT_KEYBOARD;

SendInput(1, (LPINPUT) &inp, sizeof(inp));

inp.ki.dwFlags = KEYEVENTF_KEYUP;

SendInput(1, (LPINPUT) &inp, sizeof(inp));

Это отправляет нажатие клавиши, а затем клавишу «А». Вы можете отправить массив этих структур за один вызов, я для простоты опущен. Обратите внимание, что ключ не ASCII, но код ВК. Просто так получилось, что буквенные клавиши представлены в верхнем регистре.

Очевидно, что если у пользователя нет курсора где-то, хочу вводимые символы, могут произойти плохие / неожиданные вещи.

0

Другие решения

Поместите текст в буфер обмена. Затем пользователь может вставить его. Оставьте пользователя под контролем, не запутайтесь в том, что делает пользователь.

0

По вопросам рекламы [email protected]