This commit is contained in:
Vichingo455
2025-03-23 15:26:15 +01:00
parent cacf40b6cd
commit ad8366918e
72 changed files with 10255 additions and 2 deletions

36
shared/GetPidForName.c Normal file
View File

@@ -0,0 +1,36 @@
#include "stdafx.h"
#include <psapi.h>
#include "GetPidForName.h"
#pragma comment(lib, "psapi.lib")
DWORD GetPidForName(const LPTSTR process) {
// Yes, eat all of our SHRTs!
DWORD pids[SHRT_MAX];
DWORD bytesReturned;
if (!EnumProcesses(pids, sizeof(pids), &bytesReturned)) {
return 0;
}
DWORD count = bytesReturned / sizeof(DWORD);
for (DWORD i = 0; i < count; ++i) {
HANDLE handle = OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION | PROCESS_VM_READ, FALSE, pids[i]);
if (handle) {
WCHAR path[MAX_PATH];
if (GetModuleBaseName(handle, NULL, path, ARRAYSIZE(path))) {
LPWSTR basename = wcsrchr(path, L'\\');
if (basename) {
basename += 1;
CharLowerBuffW(basename, (DWORD)wcslen(basename));
if (_wcsicmp(process, basename) == 0) {
CloseHandle(handle);
return pids[i];
}
}
}
CloseHandle(handle);
}
}
return 0;
}