Pfad von aktivem Fenster/aktiver EXE rauskriegen...



  • Hi!

    Ich hab folgendes Problem:

    Ich würde gern den Pfad von der EXE rausfinden, die momentan im Vordergrund ist. Den handle bekomm ich ja mit GetForegroundWindow, insofern ich den überhaput brauch... Aber ich weis nicht welche Funktion(en) ich dan brauch.
    Wär nett wenn einer helfen würd!

    Thx im Voraus!

    Wally



  • #include <Psapi.h>
    
    #pragma comment(lib, "psapi.lib") // Nur Visual Studio: psapi.lib einbinden
    
    void GetPathFromHandle(HWND hWnd, LPTSTR szPathFromHandle)
    {
        DWORD lpdwProcessId; 
        HANDLE hProcessHandle;
        GetWindowThreadProcessId(hWnd, &lpdwProcessId);	
        hProcessHandle = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, TRUE, lpdwProcessId);
        GetModuleFileNameEx(hProcessHandle, NULL, szPathFromHandle, MAX_PATH);
        CloseHandle(hProcessHandle);
    }
    

    Wenn Du Visual Studio benutzt, brauchst nichts zu ändern,
    benutzt Du allerdings einen anderen Compiler/IDE, mußt Du die #pragma-Zeile
    entfernen und die psapi.lib manuell einbinden...

    Aufruf:
    GetPathFromHandle(hHandleZumFenster, szBufferWoPfadReinsoll);

    Kann aber sein, das es nur unter Win2000/XP so funzt...



  • Hepi schrieb:

    Kann aber sein, das es nur unter Win2000/XP so funzt...

    Genau so ist es. Unter den anderen Systemen muss dann wohl ein Snapshot her.


Anmelden zum Antworten