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.
Gadget-Position ermitteln
-
- [ gelöst ]
-
schelle -
29. Oktober 2009 um 19:32 -
Geschlossen -
Erledigt
-
-
Hi, herzlich willkommen
wie darf ich das verstehen?? was willst du machne ?? -
Benutzt du die Stable oder die Beta Version von AutoIT?
Weil lediglich letztere bietet Support für Win 7, wenn ich das was ich bisher so gelesen habe richtig verstanden habe. -
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 dagruss 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?
-
Habe das ganze mal auf Vista getestet. Irgendwie schafft es autoit nicht die Sidebar selbst anzusprechen. (oder ich bin zu blöd dafür)
-
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"