//window is an HWND
LPWSTR path = new WCHAR[1024];
DWORD size = 1024;
GetWindowText(window, path, 1024);
HINSTANCE instance = (HINSTANCE)GetWindowLongPtr(window, GWLP_HINSTANCE);
QueryFullProcessImageName(instance, PROCESS_NAME_NATIVE, path, &size);
Dieser Code schlägt beim Aufruf von QueryFullProcessImageName (...) mit dem Fehlercode 6 [ungültiges Handle] fehl. GetWindowText ist erfolgreich und GetWindowLong gibt einen HININANCE ungleich Null zurück.QueryFullProcessImageName fehlgeschlagen mit gültigem HINSTANCE?
Ich bin ziemlich neu zu win32, also warum das nicht funktioniert, ist über mich hinaus. Ich glaube, dass sowohl die HWND und HINSTANCE beteiligt sind gültig ...
Dank
Frage entsprechend aktualisiert. Das Problem besteht jedoch weiterhin. –
@Kevin Montrose: Ich aktualisierte mit dem Grund, warum –
Festcode: DWORD processID = 0; \t GetWindowThreadProcessId (Fenster & Prozess-ID); \t HANDLE processHandle = OpenProcess (PROCESS_QUERY_LIMITED_INFORMATION, false, processID); QueryFullProcessImageName (processHandle, PROCESS_NAME_NATIVE, Pfad, &size); Danke. –