Вопрос Нормальная реализация чтения игры.

Эксперт
Статус
Оффлайн
Регистрация
9 Апр 2020
Сообщения
1,425
Реакции[?]
666
Поинты[?]
25K
Дайте поиск не по названию окна.

C++:
void getGameAddres()
{
    hwnd = FindWindowA(0, "Counter-Strike: Global Offensive");
    GetWindowThreadProcessId(hwnd, &processID);

    if (processID)
    {
        client = getGameModule("client.dll", processID);
        engine = getGameModule("engine.dll", processID);

        process = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processID);
    }

    else
    {
        MessageBox(0, "Не удалось найти окно игры.", "Ошибка.", MB_OK);
        exit(0);
    }
}
 
Участник
Статус
Оффлайн
Регистрация
2 Фев 2020
Сообщения
818
Реакции[?]
378
Поинты[?]
0
Дайте поиск не по названию окна.

C++:
void getGameAddres()
{
    hwnd = FindWindowA(0, "Counter-Strike: Global Offensive");
    GetWindowThreadProcessId(hwnd, &processID);

    if (processID)
    {
        client = getGameModule("client.dll", processID);
        engine = getGameModule("engine.dll", processID);

        process = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processID);
    }

    else
    {
        MessageBox(0, "Не удалось найти окно игры.", "Ошибка.", MB_OK);
        exit(0);
    }
}
Код:
DWORD utils::get_proc_id( std::string process )
{
    HANDLE m_hProcessSnap;
    PROCESSENTRY32 m_ProcEntry;

    m_hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    m_ProcEntry.dwSize = sizeof(PROCESSENTRY32);
    do
    {
        if (_stricmp(m_ProcEntry.szExeFile, process.data()) == 0)
        {
            DWORD m_dwProcId = m_ProcEntry.th32ProcessID;
            CloseHandle(m_hProcessSnap);

            return m_dwProcId;
        }
    } while (Process32Next(m_hProcessSnap, &m_ProcEntry));

    CloseHandle(m_hProcessSnap);
    return 0;
}
 
Сверху Снизу