C++ Pfad eines Prozesses

11/09/2014 18:39 Terrat#1
Hey ho,
will immoment mit hilfe von GetProcessImageFileName und _splitpath den Pfad eines Processes kriegen aber dabei kommt immer sowas wie das hier raus:
Code:
\Device\HarddiskVolume2\....
Ab den ... ist ja alles richtig aber irgendwie möchte ich jetzt auch die Festplatte haben sprich als bsp. c: statt \Device\HarddiskVolume2\.
11/09/2014 19:03 Dr. Coxxy#2
[Only registered and activated users can see links. Click Here To Register...]

lies dir mal ganz scharf die remarks durch...
wieso ists für so viele leute eigtl. so schwer einfach die msdn mit der entsprechenden funktion aufzumachen? löst 99% der probleme sich da mal ordentlich die remarks durchzulesen.
11/09/2014 19:45 Terrat#3
Quote:
Originally Posted by Dr. Coxxy View Post
[Only registered and activated users can see links. Click Here To Register...]

lies dir mal ganz scharf die remarks durch...
wieso ists für so viele leute eigtl. so schwer einfach die msdn mit der entsprechenden funktion aufzumachen? löst 99% der probleme sich da mal ordentlich die remarks durchzulesen.
Du machst mich fertig xd. Ich sehe nur error... GetModuleFileName ... Aha GetModuleFilename funkt beim 32 bit proc aber net auf 64(alles das was ich bis jetzt wuste)
11/09/2014 19:50 Dr. Coxxy#4
blind?
Quote:
To retrieve the name of the main executable module for a remote process in win32 path format, use the QueryFullProcessImageName function.
[Only registered and activated users can see links. Click Here To Register...]
11/09/2014 21:29 Terrat#5
Langsam glaube ich schon xd ich gucks mir mal morgen an

Hm klappt net wirklich nur bei einen:
Code:(for schleife)
Code:
{
DWORD charsCarried = MAX_PATH
LPSTR YEA=new TCHAR[MAX_PATH];
				HANDLE hProcess2;
				hProcess2 = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_QUERY_LIMITED_INFORMATION | PROCESS_VM_READ, FALSE, aProcesses[i]);
	
				QueryFullProcessImageName(hProcess2, 0, YEA, &charsCarried);
				std::cout << YEA << std::endl;
				std::cout << GetLastError() << std::endl;
				CloseHandle(hProcess2);
}
99% Error 122 = ERROR_INSUFFICIENT_BUFFER ? Der Buffer sollte doch aber eigentlich groß genug sein ? MAX_PATH ?
Screen:

[Only registered and activated users can see links. Click Here To Register...]