Announcement

Collapse
No announcement yet.

Welche Anwendung ist derzeit im Vordergrund

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Welche Anwendung ist derzeit im Vordergrund

    Hallo,

    wie kann ich feststellen, welche Anwendung aktuell im Vordergrund ist. Die Abfrage soll auch erkennen, wenn dies der Screensaver ist.

    Gruß Gerd

  • #2
    Hallo,

    unter welchen Windows-Versionen soll diese Erkennung funktionieren? Das folgende Beispiel demonstriert, wie das eigene Programm über einen Timer die Fensterbeschriftung des jeweils aktiven Programms ausliest und anzeigt:
    <pre>
    procedure TForm1.Timer1Timer(Sender: TObject);
    var
    hForegroundWnd : HWND;
    szBuffer : array[0..99] of Char;
    begin
    hForegroundWnd := GetForegroundWindow;
    GetWindowText(hForegroundWnd, szBuffer, SizeOf(szBuffer));
    Caption := szBuffer
    end;
    </pre&gt

    Comment


    • #3
      Hi

      Falls der ScreenSaver läuft ist er IMMER im Vordergrund, logisch. D.h. Dein Problem mit dem ScreenSaver reduziert sich darauf ob der ScreenSaver gerade aktiv ist. Mit SystemParameterInfo() kann man dies abfragen. Den Rest hat Andreas schon gezeigt -> GetForegroundWindow() und vielleicht GetWindowThreadProcessID();

      Gruß Hage

      Comment

      Working...
      X