MCPcopy Create free account
hub / github.com/GameTechDev/PresentMon / GetProcessNames

Function GetProcessNames

IntelPresentMon/FlashInjector/LibraryInject.cpp:111–143  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

109 }
110
111 ProcessMap GetProcessNames()
112 {
113 ProcessMap processMap;
114
115 DWORD processIds[1024];
116 DWORD processIdsSize;
117 EnumProcesses(processIds, sizeof(processIds), &processIdsSize);
118
119 auto processIdsFound = processIdsSize / sizeof(DWORD);
120 for (unsigned idx = 0; idx < processIdsFound; idx++)
121 {
122 auto processId = processIds[idx];
123 if (processId == 0)
124 {
125 continue;
126 }
127
128 auto hProcess = ::OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 0, processId);
129 if (!hProcess)
130 {
131 continue;
132 }
133
134 CHAR pProcessName[MAX_PATH] = "NOT_FOUND";
135 GetModuleBaseName(hProcess, 0, pProcessName, sizeof(pProcessName) / sizeof(CHAR));
136
137 CloseHandle(hProcess);
138
139 processMap[processId] = pProcessName;
140 }
141
142 return processMap;
143 }
144}

Callers 1

mainFunction · 0.85

Calls 1

OpenProcessFunction · 0.85

Tested by

no test coverage detected