Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос THE FINALS — Не удается получить PID процесса через FindWindow (EAC)

Обратите внимание, что на пользователя недавно была жалоба: Жалоба от lovehvhneverlose на hex_cat. Будьте осторожны!
Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
470
Реакции
10
Народ, кто сейчас ковыряет THE FINALS, столкнулся с классической проблемой: не получается зацепиться за процесс. Пробовал стандартный способ через имя окна и процесс, но на выходе полный ноль.

Есть подозрение, что Easy Anti-Cheat (EAC) либо прячет окно, либо как-то хитро его протектит. В логах пусто, просто FindWindow возвращает null, а если и находит хендл, то GetWindowThreadProcessId отрабатывает криво.

Собственно, сам код, который отказывается адекватно работать:

Код:
Expand Collapse Copy
DWORD PID(const std::wstring& windowName)
{
    HWND hwnd = FindWindow(nullptr, windowName.c_str());
    if (hwnd == nullptr) {
        std::wcerr << L"Can not found the window: " << windowName << std::endl;
        return 0;
    }
    DWORD processId = 0;
    GetWindowThreadProcessId(hwnd, &processId);
    return processId;
}

Технические нюансы:
  1. EAC часто стрипает хендлы или блокирует доступ к определенным WinAPI вызовам из юзермода.
  2. Использовать FindWindow в играх с EAC — затея сомнительная, так как античит может менять заголовок или класс окна.
  3. Возможно, стоит копать в сторону CreateToolhelp32Snapshot или искать процесс по имени экзешника напрямую, минуя HWND.

Кто как решал подобное в финалсе? Юзаете стандартный snapshot или уже перекатились на ядерные методы для получения инфы о процессе?
 
Назад
Сверху Снизу