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)