Как имитировать нажатие на клавишу в неактивном окне игры на C++?
Можно ли, имитировать нажатия на клавиши в неактивном окне игры? Чем это делать?
Пробовал через PostMessage и SendMessage, смотрел сообщения через Spy++ они доходили, но в игре ничего не происходило. Заметил, что сообщения отличались от тех, что я получал когда сам, нажимал клавишу в игре. Это происходило из-за того, что я указывал lParam как NULL. Вроде разобрался, как прописать lParam. Сейчас сообщения одинаковые, но игра всё равно не реагирует на них.
int main()
{
HWND hWnd = FindWindow(L"WindowsForms10.Window.8.app.0.1e3b723_r11_ad1", L"Terraria: теперь в 1D");
int lParam1 = 1 | 57 << 16;
int lParam2 = 1 | 57 << 16 | 3 << 30;
for (int i = 0; i < 100; i++)
{
if (i > 0) lParam1 |= 1 << 30;
PostMessage(hWnd, WM_KEYDOWN, VK_SPACE, lParam1);
Sleep(100);
}
PostMessage(hWnd, WM_KEYUP, VK_SPACE, lParam2);
}