AutoIt Window Info Scripten?

07/28/2010 14:57 N290#1
Hi Community.
Jeder kennt ja AutoIt Window Info und das Koordinaten der Maus
messen.
Ich will mit Koda und AutoIt sowas ähnliches Scripten.

Inhalt:
2Labels mit dem Namen X-Achse und Y-Achse
2Labels oder Inputs mit jeweils einmal die Koordinaten der X oder Y Achse.

Hab vor mit der MouseGetPos Funktion vorzugehen.
Aber ich bin noch am Lernen,
bzw noch Anfänger in AutoIt.

So vlllt. der GUI-Code(ohne den eigt. Script)
Code:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Mouse", 157, 72, 192, 124)
$Label1 = GUICtrlCreateLabel("X-Achse", 8, 16, 44, 17)
$Label2 = GUICtrlCreateLabel("Y-Achse", 8, 40, 44, 17)
$Input1 = GUICtrlCreateInput("", 56, 16, 81, 21)
$Input2 = GUICtrlCreateInput("", 56, 40, 81, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
                Case ;Was soll ich hierhin machen?

	EndSwitch
WEnd
Zu Meinen Problem.
Wie kann ich das machen ,dass er jetzt die Position in den Inputs mitschreibt
oder in den Labels, ohne einen Button zu drücken wo dann der Code
gestartet wird. Wenn ich den Script unter $Input schreib
dann startet er nicht weil ich es nicht andrücken kann oder so.
Mit Buttons geht es ,ABER nur einmal pro klick.

Nochmal klar und deutlich ;)

Wo soll ich den Script hinschreiben das er beim Start des programmes
schon ausgeführt wird ohne einen Button zu drücken?


MFG: N290
(Sorry ich bin neu in AutoIt und hab vorher nur ein bisshen VB gehabt.)
07/28/2010 15:12 HardCore.1337#2
Schau dir mal MouseGetPos an ;)
Tipp: Die Ergebnisse werden in einem Array gespeichert.

$Variable[0] und $Variable[1]
07/28/2010 15:24 BloodlyKnife#3
Danke.
Weißt du auch wie ich das mit dem Start hinbekomme?
Bei VIsual Basic gibt ja die erste Code linie

Form1_Load

gibt es soetwas in der art?
07/28/2010 15:46 N290#4
WTF?
Was willst du auf einmal hier Bloodly?
Das gleiche Problem oder was?
Nja danke Hardcore xD
Kam mir jetzt nur ien bisshen witzig for
07/28/2010 15:48 Shadow992#5
Quote:
Originally Posted by BloodlyKnife View Post
Danke.
Weißt du auch wie ich das mit dem Start hinbekomme?
Bei VIsual Basic gibt ja die erste Code linie

Form1_Load

gibt es soetwas in der art?
Haben wir da etwa einen Doppel-Account?
Mir riecht das vedammt danach.
Bloody bedankt sich, aber N290 hat die Frage gestellt.
Auch die Ausdrucksweise ist ähnlich. ;)
Bloody kann (angeblich) VB und N290 auch.

Seht ihr die Paralellen?
Ok, aber zurück zum Thema:
Packs doch einfach in die While-Schleife...
07/28/2010 15:50 BloodlyKnife#6
Ne wollte auch mal wen verarschen.
Irgendwie sind sie ja alle bei mir auch so.
Und wies ausschaut hats geklappt.
07/28/2010 15:52 N290#7
Na toll, BloodlyKnife.
@Shadow
Ja danke.
Jetzt wirds immer besser.
Öhm nur noch die eine Frage wo muss ich den Script jetzt hinschreiben
das er beim Start der Anwendung beginnt?
Unter Case auf jeden Fall nicht.
07/28/2010 15:55 Shadow992#8
Quote:
Originally Posted by BloodlyKnife View Post
Ne wollte auch mal wen verarschen.
Irgendwie sind sie ja alle bei mir auch so.
Und wies ausschaut hats geklappt.
Klar verarschen...
Das ist eindeutig Doppel-Account, kann ja ein Admin mal bei Gelegenheit prüfen (ist mit IP ja ganz schnell rausgefunden).
Viel "verarschen" gibt es bei Doppel-Accounts wohl nicht.
2 aktive Accounts verstoßen eindeutig gegen die Regeln,
aber gut jeder "verarscht" auf eine andere Art und Weise. ^^

Edit:
PHP Code:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 GUICreate("Mouse"15772192124)
$Label1 GUICtrlCreateLabel("X-Achse"8164417)
$Label2 GUICtrlCreateLabel("Y-Achse"8404417)
$Input1 GUICtrlCreateInput(""56168121)
$Input2 GUICtrlCreateInput(""56408121)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit
                Case ;
Was soll ich hierhin machen?

    EndSwitch
    
Start()
WEnd
Func Start
()
   ; 
Dein Skript
Endfunc 
07/28/2010 15:59 N290#9
Danke :)
Ich werde es mal probieren
07/28/2010 16:51 | Moep |#10
Um nun die mouseposition immer im Label zu aktualisiren, barsuch du noch "GUICtrlSetData".
07/28/2010 17:06 N290#11
kannst du mir das in einem Beispiel zeigen?
Bin wie gesagt Anfänger :)
07/28/2010 17:54 omer36#12
willst du ein beispiel, oder schon das fertige?

PHP Code:
Func Start()
$pos MouseGetPos()
GUICtrlSetData(;hier muss was hin)
GUICtrlSetData(;hier muss was hin)
Endfunc 
schau dir nochmal das an: "GUICtrlSetData"
und dann nochmal den ersten beitrag hier von HardCore.1337

€und wenn du willst, versuch doch auch noch dazu, dass es die Farbe anzeigt.. ^^
musst halt noch ein label+input einfügen ^^
07/28/2010 20:39 suiluJ.#13
Die Frage war "Wie kann ich das machen...".
Und ich nicht "Könnt ihr mir vielleicht Tipps geben"?

Code:
Func Start()
$pos = MouseGetPos();Hier fordert er quasi die Koordinaten an und spiechert sie in einem Array
;http://wiki.autoit.de/wiki/index.php/Tutorial (Zum nachschauen was das ist)
GUICtrlSetData($labelxpos,$pos[0]);Set sagt alles ... 1 Parameter = Das Object was geändert werden soll ...2= Der Inhalt , der dafür genommen werden soll.
GUICtrlSetData($labelypos,$pos[1]);^this
Endfunc
Müsste so gehen
07/28/2010 21:29 omer36#14
Quote:
Originally Posted by selman99 View Post
Die Frage war "Wie kann ich das machen...".
Und ich nicht "Könnt ihr mir vielleicht Tipps geben"?

Code:
Func Start()
$pos = MouseGetPos();Hier fordert er quasi die Koordinaten an und spiechert sie in einem Array
;http://wiki.autoit.de/wiki/index.php/Tutorial (Zum nachschauen was das ist)
GUICtrlSetData($labelxpos,$pos[0]);Set sagt alles ... 1 Parameter = Das Object was geändert werden soll ...2= Der Inhalt , der dafür genommen werden soll.
GUICtrlSetData($labelypos,$pos[1]);^this
Endfunc
Müsste so gehen
$labelxpos ?
$labelypos ?
er wollte eig. "tipps" aber egal, so müsste es dann aussehen:
PHP Code:

#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 GUICreate("Mouse"15772192124)
$Label1 GUICtrlCreateLabel("X-Achse"8164417)
$Label2 GUICtrlCreateLabel("Y-Achse"8404417)
$Input1 GUICtrlCreateInput(""56168121)
$Input2 GUICtrlCreateInput(""56408121)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit

    EndSwitch
    
Start()
WEnd


Func Start
()
$pos MouseGetPos()
GUICtrlSetData($Label1$pos[0])
GUICtrlSetData($Label2$pos[1])
Endfunc 
07/28/2010 22:30 suiluJ.#15
Code:
Zu Meinen Problem.
Wie kann ich das machen ,dass er jetzt die Position in den Inputs mitschreibt 
oder in den Labels, ohne einen Button zu drücken wo dann der Code
gestartet wird. Wenn ich den Script unter $Input schreib
dann startet er nicht weil ich es nicht andrücken kann oder so.
Mit Buttons geht es ,ABER nur einmal pro klick.

Nochmal klar und deutlich ;)

[B]Wo soll ich den Script hinschreiben das er beim Start des programmes
schon ausgeführt wird ohne einen Button zu drücken?[/B]
Wo steht da : "Könntet ihr mir dazu ein paar Tipps geben : D"? ...

Naja das mit den Labelnamen : Die Parameter sind doch kommentiert das hätte er schon alleine geschafft