| 204 | } |
| 205 | |
| 206 | std::string CProcessFunctions::GetProcessName(HANDLE hProcess) |
| 207 | { |
| 208 | auto szDosName = GetProcessFullName(hProcess); |
| 209 | if (szDosName.empty()) return std::string(""); |
| 210 | |
| 211 | auto szProcessName = DosDevicePath2LogicalPath(szDosName.c_str()); |
| 212 | if (szProcessName.empty()) return std::string(""); |
| 213 | |
| 214 | std::transform(szProcessName.begin(), szProcessName.end(), szProcessName.begin(), tolower); |
| 215 | return szProcessName; |
| 216 | } |
| 217 | |
| 218 | DWORD_PTR CProcessFunctions::GetProcessIdNative(HANDLE hProcess) |
| 219 | { |