MCPcopy Create free account
hub / github.com/WallBreaker2/op / get_process_module_path

Function get_process_module_path

libop/window/WindowProcess.cpp:30–45  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

28}
29
30std::wstring get_process_module_path(HANDLE process) {
31 HMODULE module = nullptr;
32 DWORD bytes_needed = 0;
33 if (!::EnumProcessModules(process, &module, sizeof(module), &bytes_needed))
34 return L"";
35
36 std::vector<wchar_t> buffer(1024, L'\0');
37 for (;;) {
38 const DWORD copied = ::GetModuleFileNameExW(process, module, buffer.data(), static_cast<DWORD>(buffer.size()));
39 if (copied == 0)
40 return L"";
41 if (copied < buffer.size() - 1)
42 return std::wstring(buffer.data(), copied);
43 buffer.assign(buffer.size() * 2, L'\0');
44 }
45}
46
47std::wstring find_process_name(DWORD pid) {
48 PROCESSENTRY32 pe32 = {sizeof(PROCESSENTRY32)};

Callers 1

GetProcesspathMethod · 0.85

Calls 2

dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected