ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
600
600
EMPFEHLEN
-
Hallo,
ich habe folgende frage ist es möglich den Pfad eines beliebigen laufenden Prozesses mit hielfe von C aus zulesen?
Das einzige was ich gefunden habe ist GetModuleFindName() was aber meines wissens nur den Pfad des eigenen Programms zurück gibt.
Danke für eure Hilfe
SpoileD
-
hier mal 2 funktionen, die ich schon öfter verwendete. beim aufruf von List() werden alle aktiven prozesse und der pfad aus gegeben.
Code cpp:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
BOOL ListProcesses() { HANDLE hProcessSnap = 0; HANDLE hToken; PROCESSENTRY32 pe32 = {0}; DWORD dwPriorityClass; BOOL bGotModule = FALSE; HANDLE hProcess; MODULEENTRY32 me32 = {0}; hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if(hProcessSnap == INVALID_HANDLE_VALUE) return FALSE; pe32.dwSize = sizeof(PROCESSENTRY32); if(Process32First(hProcessSnap,&pe32)) { do { ZeroMemory(&me32,sizeof(MODULEENTRY32)); hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe32.th32ProcessID); bGotModule = GetProcessModule(pe32.th32ProcessID, pe32.th32ModuleID, &me32, sizeof(MODULEENTRY32)); dwPriorityClass = GetPriorityClass(hProcess); cout<<"File name: "<<pe32.szExeFile<<endl; cout<<"Path: "<<me32.szExePath<<endl; CloseHandle(hProcess); }while(Process32Next(hProcessSnap,&pe32)); } return bGotModule; } BOOL GetProcessModule(DWORD dwPID, DWORD dwModuleID, LPMODULEENTRY32 lpMe32, DWORD cbMe32) { BOOL bRet = FALSE; BOOL bFound = FALSE; HANDLE hModuleSnap = NULL; MODULEENTRY32 me32 = {0}; ZeroMemory(&me32,sizeof(MODULEENTRY32)); hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwPID); if (hModuleSnap == INVALID_HANDLE_VALUE) return (FALSE); me32.dwSize = sizeof(MODULEENTRY32); if (Module32First(hModuleSnap, &me32)) { do { if (me32.th32ProcessID == dwPID) { CopyMemory (lpMe32, &me32, cbMe32); bFound = TRUE; } } while (!bFound && Module32Next(hModuleSnap, &me32)); bRet = bFound; } else bRet = FALSE; CloseHandle(hModuleSnap); return bRet; }
Ähnliche Themen
-
Speicherbereich eines Prozesses
Von Ichbinalex im Forum .NET CaféAntworten: 1Letzter Beitrag: 08.06.09, 15:00 -
Pfad eines Prozesses finden
Von zacharyy im Forum VisualStudio & MFCAntworten: 3Letzter Beitrag: 26.02.09, 14:19 -
Stdout eines Prozesses ermitteln
Von Hroudtwolf im Forum C/C++Antworten: 2Letzter Beitrag: 17.11.07, 19:43 -
Verbindung eines Prozesses überprüfen
Von nagydaniel im Forum C/C++Antworten: 3Letzter Beitrag: 16.08.07, 10:24 -
PID eines Prozesses ermitteln
Von Caruso_Nix im Forum JavaAntworten: 6Letzter Beitrag: 23.11.04, 13:35





Zitieren
Login






