Gadget-Position ermitteln

  • Hallo,
    mit dem Tool Au3Info kann man wunderbar die Position eines einzelnen Sidebargadgets (Windows 7 x64) ermitteln. Benutze ich dagegen die Funktion ControlGetPos, kriege ich unter die Position 0, 0 angezeigt. Mit WinGetPos geht es auch nicht. Ich bin zwar AutoIt-Neuling, aber nicht völlig unbedarft, aber hier fehlt mir was. ?(

    Einmal editiert, zuletzt von schelle (18. November 2009 um 19:08)

  • Hallo,

    @Phase1: Ich will die Gadgets an eine bestimmte Stelle positionieren, das klappt nur mit MouseMove, mit ControlMove nicht. Daher muss ich wissen, wo sich das Gadget befindet um die pasenden Koordinaten zu ermitteln.

    SEuBo: Offenbar spielt das in diesem Fall keine Rolle, ich habe jetzt mal das Beispielscript aus der Hilfe für "ControlGetPos" getestet und da wird auch 0, 0 für die Position angezeigt.

  • Hi schelle

    evtl. liegt das an der anderen version nicht der beta da es bei dem erscheinungs datum noch kein win7 gab
    lade doch die beta runter und teste es da

    gruss Simon

  • Hallo simon,

    habe ich ja gemacht, aber das Ergebnis war das Gleiche.
    Folgendes ist im summary-Fenster von AutoInfo zu sehen:
    >>>> Window <<<<
    Title:
    Class: SideBar_HTMLHostWindow
    Position: 1600, 328
    Size: 130, 80
    Style: 0x96010000
    ExStyle: 0x00080080
    Handle: 0x00000000000101D8

    >>>> Control <<<<
    Class: Internet Explorer_Server
    Instance: 1
    ClassnameNN: Internet Explorer_Server1
    Advanced (Class): [CLASS:Internet Explorer_Server; INSTANCE:1]
    ID:
    Text:
    Position: 0, 0
    Size: 130, 80
    ControlClick Coords: 60, 37
    Style: 0x56000000
    ExStyle: 0x00000000
    Handle: 0x0000000000010212

    >>>> Mouse <<<<
    Position: 1660, 365
    Cursor ID: 0
    Color: 0x000000

    >>>> StatusBar <<<<

    >>>> Visible Text <<<<


    >>>> Hidden Text <<<<

    Die control-Position ist immer 0, 0 die windows-Position ist bei jedem Widget anders. Wie also kann ich das fett markierte auslesen? ?(

  • Hallo,

    weitere Versuche liefen bisher ergebnislos.

    Sinn und Zweck dieser Aktion war folgender: Ich teile mein Desktop mit hsi.exe in zwei Teile, damit die maximierten Fenster die Gadgest am rechten Rand nicht überlappen sollen. Auch dass die Gadgets im Vordergund sein können war keine Option. Ist diese Teilung erfolgt und die Gadgest werden gestartet, erscheinen sie eben nicht am rechten Bildschirmrand, sondern am rechten Rand vom "größeren" Desktopabschnitt.

    Ich habe das jetzt mit einem Workaround gelöst, indem ich die Gadgets zunächst auf die linke Seite des Desktops geschoben habe und dann die settings.ini kopiert habe. Beim nächsten Systemstart starte ich das autoitscript das die originäre settings.ini durch die kopierte ersetzt (dann weiß ich ja an welcher Position das Gadget steht), starte die Sidebar und schiebe dann die Gadgets an die gewünschte Stelle. Das Ganze sieht dann halt so aus:

    FileCopy ( "D:\schelle\settings.ini", "C:\Users\schelle\AppData\Local\Microsoft\Windows Sidebar", 1)
    sleep (1000)
    Run ("C:\Program Files (x86)\Windows Sidebar\sidebar.exe /autoRun")
    sleep (5000)

    MouseMove(280, 79)
    MouseClick("left", 309, 79, 1)
    Send ("{SHIFTDOWN}", 0)
    MouseDown("left")
    MouseMove(1909, 76, 50)
    MouseUp("left")
    Send ("{SHIFTUP}", 0)


    Der zweite Abschnitt für alle Gadgets dementsprechend.

    Ich hoffe, das hilft vielleicht jemandem, der das gleiche Problem hatte und bedanke mich für die Unterstützung und setzte das Ganze auf "Gelöst" :thumbup: