Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос Помогите прочитать pid процесса по окну на плюсах

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
4 Ноя 2025
Сообщения
43
Реакции
0
Есть 32 битная игра на юнити IL2cpp.
В диспетчере задач:
блокпост1.PNG

Я ищу по названию окна(окно называется BLOKPOST)
C++:
Expand Collapse Copy
#include <iostream>
#include <Windows.h>
#include <string>
#include <TlHelp32.h>
using namespace std;

uintptr_t GameAssemblydll;
int main()
{
    DWORD processId = 0;
    HWND hwnd = FindWindow(NULL, L"BLOKPOST");
    if (hwnd != NULL) {
        GetWindowThreadProcessId(hwnd, &processId);
        cout << "Pid: " << processId << endl;

    }

}

Захожу в игру,запускаю программу и ничего:
блокпост2.PNG

Правильно ли я получаю pid для 32 битной игры?

Помогите плиз,кому не лень,вообще не знаю что не так
 

Вложения

  • блокпост1.PNG
    блокпост1.PNG
    7.7 KB · Просмотры: 13
Есть 32 битная игра на юнити IL2cpp.
В диспетчере задач:
Посмотреть вложение 320927
Я ищу по названию окна(окно называется BLOKPOST)
C++:
Expand Collapse Copy
#include <iostream>
#include <Windows.h>
#include <string>
#include <TlHelp32.h>
using namespace std;

uintptr_t GameAssemblydll;
int main()
{
    DWORD processId = 0;
    HWND hwnd = FindWindow(NULL, L"BLOKPOST");
    if (hwnd != NULL) {
        GetWindowThreadProcessId(hwnd, &processId);
        cout << "Pid: " << processId << endl;

    }

}

Захожу в игру,запускаю программу и ничего: Посмотреть вложение 320929
Правильно ли я получаю pid для 32 битной игры?

Помогите плиз,кому не лень,вообще не знаю что не так
да все норм вроде, но лучше добавь проверку на то, что окно найдено, и функция вернула ID процесса
C++:
Expand Collapse Copy
#include <Windows.h>
#include <iostream>

int main() {
    DWORD processId = 0;

    HWND hwnd = FindWindowW(nullptr, L"BLOKPOST");
    if (!hwnd) {
        std::cout << "Window not found\n";
        return 1;
    }

    DWORD threadId = GetWindowThreadProcessId(hwnd, &processId);
    if (!threadId || !processId) {
        std::cout << "Failed to get PID\n";
        return 1;
    }

    std::cout << "Pid: " << processId << std::endl;
}
 
да все норм вроде, но лучше добавь проверку на то, что окно найдено, и функция вернула ID процесса
C++:
Expand Collapse Copy
#include <Windows.h>
#include <iostream>

int main() {
    DWORD processId = 0;

    HWND hwnd = FindWindowW(nullptr, L"BLOKPOST");
    if (!hwnd) {
        std::cout << "Window not found\n";
        return 1;
    }

    DWORD threadId = GetWindowThreadProcessId(hwnd, &processId);
    if (!threadId || !processId) {
        std::cout << "Failed to get PID\n";
        return 1;
    }

    std::cout << "Pid: " << processId << std::endl;
}
а вот и не верно сравни название процеса в диспетчере задач и которые он ищет надо BLOCKPOST
 
а вот и не верно сравни название процеса в диспетчере задач и которые он ищет надо BLOCKPOST
а ёмаё,тупая невнимательность...
да все норм вроде, но лучше добавь проверку на то, что окно найдено, и функция вернула ID процесса
C++:
Expand Collapse Copy
#include <Windows.h>
#include <iostream>

int main() {
    DWORD processId = 0;

    HWND hwnd = FindWindowW(nullptr, L"BLOKPOST");
    if (!hwnd) {
        std::cout << "Window not found\n";
        return 1;
    }

    DWORD threadId = GetWindowThreadProcessId(hwnd, &processId);
    if (!threadId || !processId) {
        std::cout << "Failed to get PID\n";
        return 1;
    }

    std::cout << "Pid: " << processId << std::endl;
}
Всё,всё работает,спс.
 
Назад
Сверху Снизу