#include <MsgBoxConstants.au3>
#include <GUIConstantsEx.au3>
Global $browserExe="C:\Program Files\Mozilla Firefox\firefox.exe"
Global $browsertitel="Mozilla Firefox"
Local $yDatei="yFirefox.txt"
$vermutet = 0
$hdl=FileOpen($yDatei,0)
If $hdl<>-1 Then
	$vermutet=FileRead($hdl)+0
	FileClose($hdl)
EndIf
Opt("WinTitleMatchMode", 2)     ; 1=vom Anfang, 2=enthält, 3=genau, 4=fortgeschritten, -1 bis -4=Groß-/Klein ignorieren
Run($browserExe)
Local $hWnd = WinWait($browsertitel, "", 10)
WinWaitActive($hWnd,"",10)
$y=yFirefox($hWnd,$vermutet)
MsgBox(0,"Firefox-y-Pixelposition",$y)
WinClose($hWnd)
$hdl=FileOpen($yDatei,2)
FileWrite($hdl,$y)
FileClose($hdl)
;#cs
FileDelete($yDatei)
;#ce
;======================================================================
#cs ----------------------------------------------------------------------------
$hWnd      Handle des Firefox-Fensters
$vermutet  Bei vorhergehenden Programmläufen ermittelter Wert für die y-Pixelposition unterhalb der Menüleisten
Hinterlässt die y-Pixelposition unterhalb der Menüleisten
#ce ----------------------------------------------------------------------------
Func yFirefox($hWnd,$vermutet)
Do
    $ppp=WinGetPos($hWnd)
    $err=@error
    Sleep (50)
Until $err<>1
If $vermutet<>0 AND PixelGetColor($ppp[0]+30,$vermutet-1)=0xCCCCCC Then Return $vermutet
;----
$gui=GUICreate("", 220, 100, 400, 400)
$progressbar1 = GUICtrlCreateProgress(10, 10, 200, 20)
GUISetState(@SW_SHOW)
;----
$fehler=0
$vorher=0
For $i=$ppp[1] To $ppp[1]+$ppp[3]
    $iColor=PixelGetColor($ppp[0]+30,$i)
	If $iColor=0xCCCCCC Then
		$nachher=PixelGetColor($ppp[0]+30,$i+1)
		If $vorher=0xF5F6F7 AND $nachher=0xFFFFFF Then ExitLoop
		$fehler=1
		ExitLoop
	EndIf
	$vorher=$iColor
	If $i=$ppp[1]+$ppp[3] Then
		$fehler=2
		ExitLoop
	EndIf
;----
    If Mod($i,10)=0 Then GUICtrlSetData($progressbar1, $i/2)
	$msg = GUIGetMsg()
	If $msg = $GUI_EVENT_CLOSE Then Exit
;----
Next
;----
GUIDelete($gui)
;----
If $fehler<>0 Then
	MsgBox(0,"","Firefox-Fenster hat geänderten Aufbau"&@CRLF&@CRLF&"     Abbruch!")
	Exit
EndIf
Return $i-$ppp[1]-7
EndFunc

