[Frage]Finden der Application im Vordergrund



  • HWND handle = GetForegroundWindow();
    wchar_t *string = new wchar_t[MAX_PATH];
    long uint=GetWindowModuleFileNameW(handle,string,MAX_PATH);
    ShowMessage(string);
    delete string;
    

    Damit hab ich versucht herauszufinden, welches Programm im Vordergrund ist. Das klappt aber nicht, ich bekomme zuverlässig C:\Windows\system32\vlc140.bpl zurück.
    hat jemand ne bessere idee?



  • Sobald Laufzeit Packages aktiviert sind wird das entsprechende bpl zurückgemeldet.
    Deaktiviere es einfach mal.

    MfG Stephan



  • danke,ok jetzt ist es besser, allerdings bekomme ich immer den pfad der application, nicht der im vordergrund, weiß jemand woran das leigt?
    PS: Momentan löse ich den Code über einen Timer aus.



  • Ich würde mal nach Z-Order suchen.
    Ich bin grad nicht sicher, ob man das Oberste Objekt (Fenster) auch so ermitteln kann, oder ob man die Prozesse durchgehen muss und dann die Position in der Z-Order abfragen.
    Um den Pfad eines bestimmten Prozesses zu erlangen brauchst du:
    GetModuleFileNameEx

    Für den Prozessnamen:
    GetModuleBaseName


Anmelden zum Antworten