Fenster Stelle bestimmen!?

  • hi, also ich bin ziemlich neu ,nein ich bin sehr neu... x)

    Also,ich möchte gerne eine .exe ausführen und das fenster dann so verschieben damit es links oben im Winkel des desktops ist..

    Kann ich dazu diesen befehl benutzen?

    WinMove ( "title", "text", x, y [, width [, height]] )

    Title: ist der title des fensters : ok!
    Text: da fängt es an weiss nciht wozu ich dies nutzen soll....
    x ,y: koordinaten : ok!
    widh,height: denke dies ist die größe des fensters... ok!

    so nun wenn ich z.b

    run ( ".exe")
    WinMove ( "title", "text", x, y [, width [, height]] )

    bringt er mir eine fehlermeldung... weil ich mit text nichts anfangen kann... habs versucht Default einzusetzen doch ohne erfolg...


    mfg joshy x)

    Einmal editiert, zuletzt von Joshy (25. Dezember 2007 um 15:05)

  • [Blockierte Grafik: http://img252.imageshack.us/img252/4615/welcome6ld.gif]

    Also die Parameter "Titel" und "Text" dienen dazu das AutoIt weiß welches Fenster gemeint ist.
    Da der Titel manchmal nicht reicht um ein Fenster eindeutig zu identifizieren (z.B. wenn es mehrere Fenster gibt mit diesem Fenstertitel) wird als weiteres Identifizierungsmerkmal der Fenstertext genommen.
    Das heißt nicht das man den kompletten Fenstertext dort 1:1 eintragen soll - nein es geht darum eine beliebige Textpassage aus dem Fenster dort einzutragen welche im Idealfall nur in diesem Fenster vorkommt damit das Fenster eindeutig beschrieben ist.
    Wenn du dir ganz sicher bist das es das einzige Fenster mit diesem Titel ist kannst du auch einfach stattdessen einen NullString ( "" ) dafür einsetzen.
    Wenn es dir nur ums verschieben geht brauchst du die Parameter "Width" und "Height" nicht - diese dienen dazu die Größe des Fensters zu ändern.

    Hier mal ein Beispiel wie eine, von der Synthax her korrekte, WinMove-Funktion aussehen könnte:

    [autoit]


    WinMove( "mein Fenstertitel", "irgendein Text aus diesem Fenster", 0, 100)

    [/autoit]

    In deinem Fall dürfte es aber mit gewisser Wahrscheinlichkeit dann aber trotzdem nicht gehen.
    Der Grund ist das die WinMove-Funktion unmittelbar nach dem Run-Befehl aufgerufen wird.
    Es ist aber sehr unwahrscheinlich das das Fenster welches du verschieben willst unmittelbar nach nur ein paar Millisekunden nach dem Befehl das Programm zu öffnen schon vorhanden ist.
    Da musst du das Skript schon erstmal auf das Fenster warten lassen - das geht mit "WinWait()".
    Ich empfehle dir dazu dich mal kurz durch folgende Tutorials zu lesen da dort der Umgang mit Fenstern beschrieben wird:
    >>Tutorial 1<< >>Tutorial 2<<