Начинающий
- Статус
- Оффлайн
- Регистрация
- 9 Дек 2017
- Сообщения
- 80
- Реакции
- 15
Вообщем ай хэв трабл. Есть окно игры, поверх него я создаю ещё одно (чтобы взаимодействовать в дальнейшем в нём), но как сделать обработку кнопок? При нажатии на кнопку (к примеру INSERT) оно должно удаляться (или скрываться), но в каком потоке идёт обработка кнопок?
В этом потоке, к примеру, срабатывает кнопка если прям выделить окно (нажав по нему), но тогда игру сворачивает и это окно появляется на рабочем столе.
Доп. окно создаю по средствам WinAPI.
У меня есть теория, а именно: Нужно обойти сворачивание приложения при SetActiveWindow(идентификатор окна); Ну и работать с кнопками в потоке WndProc. У кого есть мысли по этому поводу? ( игра не CS:GO, а GTA SA:MP, но особой сути не меняет) )
В этом потоке, к примеру, срабатывает кнопка если прям выделить окно (нажав по нему), но тогда игру сворачивает и это окно появляется на рабочем столе.
C++:
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_KEYDOWN:
{
switch (wParam)
{
case VK_INSERT:
{
wndStatus = !wndStatus;
addMessageToChat(gray_color, "message");
init_render(hInstance, nullptr, nullptr, 0);
break;
}
}
break;
}
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
Доп. окно создаю по средствам WinAPI.
У меня есть теория, а именно: Нужно обойти сворачивание приложения при SetActiveWindow(идентификатор окна); Ну и работать с кнопками в потоке WndProc. У кого есть мысли по этому поводу? ( игра не CS:GO, а GTA SA:MP, но особой сути не меняет) )