Koordinaten im Fenster ?

  • Hallo,

    ich wollte fragen, ob es einen Befehl dafür gibt, dass ich bei Autoit die Koordinaten in einem Fenster angebe?(dass sich die koordinaten auf ein Bestimmtes Fenster beziehen) d.h. dass mit diesem befehl die koordinaten 1/1 immer oben links im fenster ist. Egla wo sich das Fenster auf dem Desktop befindet. habe schon google gefragt aber nix gefunden. :!:

    p.s benutze AutoIT v. 3.3.0.0

    Danke für eure Antworten

  • Also das Fenster auf das es sich beziehen soll: Wingettitle()
    Und dann bracuhst du noch die Position von diesem Fenster: Wingetpos()
    Und um das ganze dann immer schön mitzubewegen: WinMove

    Gruß

    Edit:

    [autoit]

    ShellExecute("notepad.exe")
    Sleep(500)

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

    $title = WinGetTitle("")

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

    $gui = GUICreate("Follow",200,200,0,0)
    GUISetState()

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

    HotKeySet("{ESC}","beenden")
    while 1
    $pos = wingetpos($title)
    WinSetOnTop("Follow","",1)
    WinMove("Follow","",$pos[0]+30,$pos[1]+30)
    sleep(10)
    WEnd

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

    Func beenden()
    Exit
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von Dönn3y (14. Juni 2009 um 18:27)

  • Nun ja, ich habe meine Frage glaub ich auch falsch gestellt.


    Wenn ich mir ein Script erstelle, um mich automatisch einzuloggen, und der loginbutton vom Internetexplorer fenster nun z.b die koordinaten 300/400 hat. kann ich mich einloggen. Wenn ich aber das fenster verschiebe ist der button z.b 300/450 und AutoIT klickt daneben. Wie kann ich das problem lösen? da der Loginbutton ja im Internetexplorerfenster eine bestimmte position hat. also wie bekomme ich das hin, dass sich die Koordinaten NUR auf das aktive Fenster beziehen?? :?: :?:


    mfg. funfun

  • um nochmal konkret auf dein Problem einzugehen
    (wie ich in der Shoutbox meinte funzt die Einstellung mit opt: ) :)

    [autoit]


    opt("PixelCoordMode",0)
    $X=0
    $Y=0
    ;WinActivate("Name des Fensters")
    ;WinWaitActive("Name des Fensters")
    ;Du musst nurnoch den Bereich der angeklickt werden soll aktivieren
    ControlClick(WinGetTitle(""),WinGetText(WinGetTitle("")),"","Left",1,$X, $Y)

    [/autoit]


    PS: die Umsetzung mit dem controlclick ist jedoch beim Browser fehleranfällig, guck dir die IE.au3 an ^^

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!

  • tut mir echt leid, bin noch relativ neu im Umgang mit AutoIT... Ich weiß nicht, was mir die IE.au3 sagen soll ?( (b.z.w. das was drinsteht) :!:


    also wenn ich den Quelltext in mein Script einfüge, beziehen sich alle Koordinaten angaben auf das internetexplorer fenster :?:


    MfG. funfun