Gui an Fenster "anhängen"

  • Also ich hab mir gerade ein Programm geschrieben , dass ein Spiel von mir startet und dann nachzählt, wie lange es schon läuft. Die Stunden Minuten und Sekunden werden in einem Gui immer wieder aktualisiert. Nun hätte ich aber gerne, dass das Gui an dem Spiel Fenster "fest hängt". :huh:


    Das funktioniert bisher einwandfrei:

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #NoTrayIcon
    $count = 0
    $open = FileOpenDialog ( "Open", "", "(*.exe)" )
    if $open = "" Then
    msgbox ( 48, "Error", "No Path specified!" )
    Else
    run ( $open )
    WinWaitActive ( "WAS AUCH IMMER" )
    $pos= WinGetPos ( "WAS AUCH IMMER" )
    $gui= GUICreate ( "Counter", 400, 30,$pos[0], $pos[1]-30 , $WS_POPUP, $WS_EX_TOOLWINDOW)
    GUISetState ( @sw_show )

    [/autoit][autoit][/autoit][autoit]

    $lbl = GUICtrlCreateLabel ( "Hour: ", 1, 10 , 100, 40)
    GUICtrlSetFont (-1, 12, 4, 0, "Comic Sans MS" )
    $lbl1 = GUICtrlCreateLabel ( "Min: ", 110, 10 , 100, 40)
    GUICtrlSetFont (-1, 12, 4, 0, "Comic Sans MS" )
    $lbl2 = GUICtrlCreateLabel ( "Sec: ", 210, 10 , 100, 40)
    GUICtrlSetFont (-1, 12, 4, 0, "Comic Sans MS" )

    [/autoit][autoit][/autoit][autoit]

    $msg = guigetmsg ()
    while WinExists ( "WAS AUCH IMMER" )
    sleep ( 1000 )
    $count = $count + 1

    [/autoit][autoit][/autoit][autoit]

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $min = $count/60
    $min1 = stringleft ( $min, 1 )
    $hour = $min1/60
    $hour1 = StringLeft ( $hour, 1 )
    GUICtrlSetData ( $lbl, "Hour: " & @tab & $hour1 )
    GUICtrlSetData ( $lbl1, "Min: " & @tab & $min1 )
    GUICtrlSetData ( $lbl2, "Sec: " & @tab & $count-($min1*60))

    [/autoit][autoit][/autoit][autoit]

    WEnd

    [/autoit][autoit][/autoit][autoit]

    sleep ( 3000 )

    [/autoit][autoit][/autoit][autoit]

    EndIf

    [/autoit]


    Aber nun möchte ich, dass er die Position von meinem Gui wieder aktualisiert wird, falls das Spiel Fenster bewegt wird.

    Jemand 'ne Ahnung,wie ich das machen könnte?


    MfG eMkay :)

    Einmal editiert, zuletzt von eMkay (19. Juli 2009 um 22:28)

  • na wenn Du die Zeit in Deinem Gui aktualisierst, dann wirst Du das wohl mit AdlibEnable oder einer While-Schleife machen.
    Pack doch einfach die $pos = WinGetPos...... in diese Schleife
    und schiebe Deine Gui dabei mit WinMove.....

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)