Я только начал изучать C ++. На данный момент я нахожусь в мелочах, решение которых пока не могу найти. Я надеюсь, что кто-то может помочь мне в этом вопросе.
Моя цель: я хочу отправить пару нажатий клавиш в работающее приложение. Но когда приложение не имеет фокуса, то есть свернуто или что-то еще, нажатия клавиш все равно должны быть
отправить заявку.
Моя проблема: когда я использую функцию sendkey()
с VK_KEY
или чем-либо еще (не помню, лол), тогда она работает, НО только если окно развернуто (сфокусировано), но когда я пытаюсь использовать PostMessage(GameWindow, WM_KEYDOWN, 'G', 0);
ничего не происходит.
Я пробовал это в Блокноте, но также и в приложении, которое я хочу, чтобы оно работало, но ничего.
Я думаю, что мне нужно подключиться к процессу, а затем отправить ключи, к сожалению, у меня нет проблем с C ++ (если вы не станете полностью профессиональным), но у меня нет опыта работы с перехватами и тому подобными вещами.
Может кто-нибудь прислать мне в правильном направлении или написать небольшой учебник о том, как это сделать, например, в одной из игр для Windows?
if( amount != 0 )
{
// bring the window to the front
HWND GameWindow = FindWindow(0, L"Naamloos - Kladblok");
SetForegroundWindow(GameWindow);
// execute the loop
for( int i = 0; i < amount; i++ ){
// not the last loop so add a pause at the end
if( i < (amount-1))
{
PostMessage(GameWindow, WM_KEYDOWN, 'G', 0);
PostMessage(GameWindow, WM_KEYUP, 'G', 0);
Sleep(2000);
}
// last loop so dont add a pause at the end
else
{
PostMessage(GameWindow, WM_KEYDOWN, 'G', 0);
PostMessage(GameWindow, WM_KEYUP, 'G', 0);
}
}
}