- Сообщения
- 815
- Реакции
- 435
Что бы открыть ручку процесса и совершать чтение и запись в память нам нужно получить PID процесса
Простым языком сегодня я вам покажу как получить pid по имени процесса с помощью которого вы можете открыть полный доступ к процессу
Раньше я рассказал в теме как найти окно и получить ид процеса:
Сегодня мы будем находить ид именно по процессу, давайте приступим
не забудьте поставить многобайтовую кодировку в настройках проекта
функцию мы не вставляем в main() и не забудьте подключить #include <iostream> и #include <Windows.h> ну и так же #include "TlHelp32.h"
Спервам нам нужна сама функция которая будет находить процесс берем копируем и вставляем:
Дальше нам желательно создать DWORD с переменной которой и будет отдавать отчет о нашей переменне
давайте создадим DWORD procID = 0; и собственно в методе main() воспользуемся ею
Простым языком сегодня я вам покажу как получить pid по имени процесса с помощью которого вы можете открыть полный доступ к процессу
Раньше я рассказал в теме как найти окно и получить ид процеса:
Сегодня мы будем находить ид именно по процессу, давайте приступим
не забудьте поставить многобайтовую кодировку в настройках проекта
функцию мы не вставляем в main() и не забудьте подключить #include <iostream> и #include <Windows.h> ну и так же #include "TlHelp32.h"
Спервам нам нужна сама функция которая будет находить процесс берем копируем и вставляем:
C++:
uintptr_t GetProcessID(const char* szProcessName)
{
uintptr_t processID = 0;
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hSnap != INVALID_HANDLE_VALUE)
{
PROCESSENTRY32 pe32{};
pe32.dwSize = sizeof(pe32);
if (Process32First(hSnap, &pe32))
{
do
{
if (!_strcmpi(szProcessName, (const char*)pe32.szExeFile))
{
processID = pe32.th32ProcessID;
break;
}
} while (Process32Next(hSnap, &pe32));
}
}
if (hSnap)
CloseHandle(hSnap);
return processID;
}
Дальше нам желательно создать DWORD с переменной которой и будет отдавать отчет о нашей переменне
давайте создадим DWORD procID = 0; и собственно в методе main() воспользуемся ею
C++:
#include <iostream>
#include <Windows.h>
#include "TlHelp32.h"
DWORD procID = 0;
int main() {
procID = GetProcessID("имя процесса.exe"); // имя процесса можно найти в диспетчере задач
if (!procID) {
// Если procID дает результат 0 и процесс не найден выполняем код который вам нужен
}
// в случае успеха продолжаем код
}