Seite 1 von 1

Ermitteln ob ein Programm Fenster aktiv ist

Verfasst: 01.11.2010 23:49
von mpz
Hallo,

ich schreibe eine Library und möchte gerne ermitteln ob das Programmfenster welches die Bibliotheksfunktionen aufruft aktiv ist. Das mache ich mit folgenden Code. Spricht was dagegen bzw. gibt es eine bessere Lösung?

Gruß Michael

Code: Alles auswählen

ProcedureDLL MP_IsScreenActive()
  
  hWnd = GetActiveWindow_()
  hWnd2 =  GetForegroundWindow_() 
  
  If hWnd = hwnd2 
    ProcedureReturn #True
  Else
    ProcedureReturn #False
  EndIf

EndProcedure

Re: Ermitteln ob ein Programm Fenster aktiv ist

Verfasst: 02.11.2010 00:17
von RSBasic
Wenn du mit "Aktiv" den Fokus eines Fensters meinst, dann würd ich lieber...

Code: Alles auswählen

If GetForegroundWindow_()=WindowID(0)
  Debug "Aktiv"
EndIf
...nutzen.
Du kannst auch das Handle deines Fenster mit FindWindow_() ermitteln.
Aber wenn dein Code einwandfrei funktioniert, kannste ja nutzen.