Функция SendInput на виртуальной клавиатуре - PullRequest
0 голосов
/ 24 февраля 2020

Я относительно новичок в c ++, и недавно я пытался заставить программу имитировать щелчок мыши для работы с экранной клавиатурой, присутствующей в Windows 10. Для этого я попытался использовать SendInput, но это похоже, что ничего не делает на виртуальной клавиатуре.

INPUT input;
input.type = INPUT_MOUSE;
input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
SendInput(1, &input, sizeof(INPUT));

input.type = INPUT_MOUSE;
input.mi.dwFlags = MOUSEEVENTF_LEFTUP;
SendInput(1, &input, sizeof(INPUT));

При запуске программы щелчки мыши имитируются в другом месте, но программа не работает на виртуальной клавиатуре. Есть ли способ произвести ввод на почти аппаратном уровне, чтобы программа могла нажимать на виртуальную клавиатуру? Или это невозможно?

Редактировать: Запуск программы от имени администратора. Тем не менее, мне все еще интересно, является ли SendInput самым близким к симуляции аппаратных щелчков мыши?

...