Seite 2 von 2

Re: Titel des aktiven Fensters auslesen

Verfasst: 14.03.2015 13:46
von Angelo
Meine Lösung ist nun, dass ich durch die Simualtion eines Mausklicks das Fenster, das im Vordergrund ist, sozusagen als aktives Fenster wiederherstelle. Und dann funktioniert der Code von RSBasic einwandfrei:

Code: Alles auswählen

mouse_event_(#MOUSEEVENTF_LEFTDOWN,0,0,0,0)

Delay(100)

CurrentWindow = GetForegroundWindow_()
CurrentWindowLength = GetWindowTextLength_(CurrentWindow)+1
WindowTitel$ = Space(CurrentWindowLength)
GetWindowText_(CurrentWindow, @WindowTitel$, CurrentWindowLength)
MessageRequester("Titel des aktiven Fensters", WindowTitel$)

Re: Titel des aktiven Fensters auslesen

Verfasst: 14.03.2015 15:05
von Imhotheb
vielleicht hilft dir das weiter:

Code: Alles auswählen

EnableExplicit

Procedure.s GetWindowTitle_(hwnd)
  
  If IsWindow_(hwnd)  ; prüfen ob es ein Window-Handle ist
    Protected temp.s
    Protected length = GetWindowTextLength_(hwnd)+1
    temp = Space(length)
    GetWindowText_(hwnd, @temp, length) 
    ProcedureReturn temp
  Else
    ProcedureReturn ""    
  EndIf
  
EndProcedure


;Define hwnd = GetActiveWindow_()
Define i, result.s, hwnd = GetForegroundWindow_()


For i = 1 To 5
  result + Str(i) + ". Window-Handle: " + Str(hwnd) + " / Window-Titel: " + GetWindowTitle_(hwnd) + Chr(10)
  hwnd = GetWindow_(hwnd, #GW_HWNDPREV) ; hwnd auf letztes Fenster setzen (Z-Order)
  
  If hwnd < 1
    result + Str(i+1) + ". Window-Handle ist 0"
    Break
  EndIf
Next

MessageRequester("Window-Handles", result)