Seite 1 von 1
windows explorer auslesen ??
Verfasst: 28.08.2010 16:15
von shutdown27
gibt es eine möglichkeit wie ich herausfinden kann wo fenster auf dem bildschirm sind
weil ich habe ein durchsichtiges fenster mit einem character drin und würde diesen gerne auf den
fenstern rumlaufen lassen
danke für jede antwort

Re: windows explorer auslesen ??
Verfasst: 28.08.2010 18:30
von edel
Du koenntest EnumWindows_ dafuer nehmen.
Beispiel :
Code: Alles auswählen
Procedure EnumWindowsProc(hwnd,lParam)
Protected style.i
Protected rc.rect
Protected buffer.s = Space(255)
style = GetWindowLong_(hwnd, #GWL_STYLE)
If style & #WS_VISIBLE And Not style & #WS_CHILD
GetWindowRect_(hwnd, rc)
Debug rc\right - rc\left
Debug rc\bottom - rc\top
Debug "-----"
EndIf
ProcedureReturn #True
EndProcedure
EnumWindows_(@EnumWindowsProc(), 0)
Re: windows explorer auslesen ??
Verfasst: 28.08.2010 19:18
von shutdown27
ja das hat mir schonmal geholfen die koordinaten hab ich jez danke ^^
kann ich auch den namen von dem fenster irgendwie bekommen?
Re: windows explorer auslesen ??
Verfasst: 28.08.2010 20:38
von HeX0R
Re: windows explorer auslesen ??
Verfasst: 28.08.2010 21:33
von shutdown27
wow danke
heisst dieses _ das es aus der win api is oder so??
sorry bin noch n anfänger
wie benutze ich das?
ich habe das so in das script eingefügt:
Code: Alles auswählen
Procedure EnumWindowsProc(hwnd,lParam)
Protected style.i
Protected rc.rect
Protected buffer.s = Space(255)
style = GetWindowLong_(hwnd, #GWL_STYLE)
If style & #WS_VISIBLE And Not style & #WS_CHILD
GetWindowRect_(hwnd, rc)
Debug rc\right - rc\left
Debug rc\bottom - rc\top
Debug lol
If MessageRequester("blabla",Str(rc\left)+","+Str(rc\top)+","+Str(rc\right)+","+Str(rc\bottom)+","+Str(rc)+","+Str(lol)+" - "+Str(GetWindowText_(hwnd,1,-1)),1)=2
End
EndIf
EndIf
ProcedureReturn #True
EndProcedure
aber es gibt immer 0 aus
Re: windows explorer auslesen ??
Verfasst: 28.08.2010 22:17
von HeX0R
shutdown27 hat geschrieben:wow danke
heisst dieses _ das es aus der win api is oder so??
Genau
shutdown27 hat geschrieben:
sorry bin noch n anfänger
wie benutze ich das?
Auch von Anfängern kann man erwarten, dass sie sich das was jemand verlinkt auch durchlesen.
Dort steht nirgends, dass man den Befehl mit 1,-1 als Parameter füttern soll...
Code: Alles auswählen
Procedure EnumWindowsProc(hwnd, lParam)
Protected style
Protected rc.rect
Protected buffer.s = Space(255)
style = GetWindowLongPtr_(hwnd, #GWL_STYLE)
If style & #WS_VISIBLE And Not style & #WS_CHILD
GetWindowRect_(hwnd, rc)
GetWindowText_(hwnd, @buffer, Len(buffer))
Debug buffer
Debug rc\right - rc\left
Debug rc\bottom - rc\top
Debug "-----"
EndIf
ProcedureReturn #True
EndProcedure
EnumWindows_(@EnumWindowsProc(), 0)