-
Автор темы
- #1
Доброго времени суток, проблема такая:
Не работает PostMessage/SendMessage, пример:
Пробовал и так
Получил HWND таким путём:
Соответственно от кода я ожидал получить нажатие клавиши Esc и выход из меню, в котором я нахожусь
Ну и когда нахожусь не в окне игры, по нажатию на F10 получаю MessageBox как и ожидается, а в окне игры он не появляется
Не работает PostMessage/SendMessage, пример:
C++:
// Process::hwnd - HWND окна игры, соответственно
if (GetAsyncKeyState(VK_F10) & 1) {
if (GetForegroundWindow() == Process::hwnd) {
PostMessage(Process::hwnd, WM_KEYDOWN, VK_ESCAPE, NULL);
PostMessage(Process::hwnd, WM_KEYUP, VK_ESCAPE, NULL);
else {
MessageBox(0, "NO", "NO", MB_OK);
}
}
C++:
// Process::hwnd - HWND окна игры, соответственно
if (GetAsyncKeyState(VK_F10) & 1) {
if (GetForegroundWindow() == Process::hwnd) {
PostMessage(Process::hwnd, WM_KEYDOWN, VK_ESCAPE, VK_ESCAPE);
PostMessage(Process::hwnd, WM_KEYUP, VK_ESCAPE, VK_ESCAPE);
}
else {
MessageBox(0, "NO", "NO", MB_OK);
}
}
C++:
// globals.gameProcess - название процесса GTA5.exe
HWND foregroundWindow = GetForegroundWindow();
GetWindowThreadProcessId(foregroundWindow, &ForegroundWindowProcessID);
if (GetProcessId(globals.gameProcess) == ForegroundWindowProcessID) {
// тут код с записью в Process::hwnd
}
Ну и когда нахожусь не в окне игры, по нажатию на F10 получаю MessageBox как и ожидается, а в окне игры он не появляется
Последнее редактирование: