[C++ нужен совет] Нажимать на клавивтуру програмно
Я знаю. Правда не через голубозубый, и не кроссплатформенно %). В ПМ.
Если знаешь hwnd поля ввода - посылаешь ему нужный WM_.
Очевидно, это для винды.
А можно пример кода( ну или где почитать? )
Как например определить на какое окно я ткнул мышкой?
Дело в том что еще древние телефоны SE такое умели. Никакой дополнительный софт на компе не требуя.
я в яве знаю как сделать
WindowFromPoint даст тебе hwnd окна. Потом посылаешь ему нужное оконное сообщение о клике мышкой или нажатии клавиши.
если кому еще интересно
#include <windows.h>
int main(int argc, char* argv[])
{
const int command_count = 4;
INPUT inp[command_count];
memset(inp, 0, sizeof(inp;
inp[0].type = INPUT_KEYBOARD;
inp[0].ki.wVk = VK_VOLUME_MUTE; // выключаем на всякий случай звук
inp[1].type = INPUT_MOUSE;
inp[1].mi.dwFlags = MOUSEEVENTF_LEFTDOWN; // нажатие левой кнопки
inp[2].type = INPUT_MOUSE;
inp[2].mi.dwFlags = MOUSEEVENTF_LEFTUP; // отпускание левой кнопки
inp[3].type = INPUT_KEYBOARD;
inp[3].ki.wVk = 0x46; // пишем букву f
int res = SendInput(command_count, inp, sizeof(INPUT;
return 0;
}
Главное не думай, что будет с приложениями, использующими DirectInput и тому подобные вещи.
обычно программы такого рода пишут чтобы приделать какой-либо костыль к конкретной известной программе. так что универсальность скорее всего не нужна.
Оставить комментарий
capxaH
А для полного щастья еще и управление мышью.Посоветуйте библиотеку на с++. Желательно кроссплатформенную.
Беглый поиск привет к QEvent. но непонятно как соощение чужой программе послать.
( То есть хочу например в браузер мышкой тыкнуть, адрес написать и нажать Enter. И все это програмно)
А теперь самое интересное. Есть подозрение что все эти команды умеет выполнять стандартный голубозубый драйвер. Если кто знает как через него все это сделать было б просто чудесно.