|
You last visited: Today at 16:15
Advertisement
Hilfe bei Getpos
Discussion on Hilfe bei Getpos within the AutoIt forum part of the Coders Den category.
03/28/2012, 21:08
|
#1
|
elite*gold: 0
Join Date: Mar 2008
Posts: 29
Received Thanks: 1
|
Hilfe bei Getpos
Servus!
Ich möchte wenn ich auf einen Button Klicke dass das Script in ein bestimmtes Fenster (Window) wechselt und bei einem Links-Klick in diesem Fenster die x,y Koordinaten unter einer bestimmten Variable ($COORDS01) abgelegt werden. Bei einem erneutem klicken des Buttons soll man die x,y Koordinaten neu definieren können.
Code:
while 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
If Not WinActivate("Window") Then
WinActivate("Window")
If MouseClick("left") Then $COORDS01 = MouseGetPos()
EndSwitch
wend
Bin leider nicht so Erfahren mit Autoit, Danke!
|
|
|
03/28/2012, 21:18
|
#2
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Quote:
Originally Posted by FreeStylaa
Servus!
Ich möchte wenn ich auf einen Button Klicke dass das Script in ein bestimmtes Fenster (Window) wechselt und bei einem Links-Klick in diesem Fenster die x,y Koordinaten unter einer bestimmten Variable ($COORDS01) abgelegt werden. Bei einem erneutem klicken des Buttons soll man die x,y Koordinaten neu definieren können.
Code:
while 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
If Not WinActivate("Window") Then
WinActivate("Window")
If MouseClick("left") Then $COORDS01 = MouseGetPos()
EndSwitch
wend
Bin leider nicht so Erfahren mit Autoit, Danke!
|
Code:
$dll = DllOpen("user32.dll")
If WinActive("Title") = False Then WinActivate("Title")
If _isPressed("01", $dll) then $COORDS01 = MouseGetPos()
Das sollte dir zumindest die Mausposition speichern.
|
|
|
03/28/2012, 21:23
|
#3
|
elite*gold: 0
Join Date: Mar 2008
Posts: 29
Received Thanks: 1
|
Code:
$dll = DllOpen("user32.dll")
Darf ich fragen was das genau für eine Funktion hat?
|
|
|
03/28/2012, 21:26
|
#4
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Braucht die _isPressed Funktion.
Quote:
Falls diese Funktion wiederholt aufgerufen wird, sollte die Datei 'user32.dll' geöffnet werden und durch ein handle übergeben werden.
Es ist noch zu beachten, dass diese am Ende des Scripts geschlossen wird
|
|
|
|
03/28/2012, 21:40
|
#5
|
elite*gold: 0
Join Date: Mar 2008
Posts: 29
Received Thanks: 1
|
Code:
$dll = DllOpen("user32.dll")
If WinActive("Window") = False Then WinActivate("Window")
If _isPressed("$Button1 ", $dll) then $COORD01 = MouseGetPos()
DllClose("user32.dll")
Ist das so richtig?
Gibt es keine "simplere" Lösung, denn das script muss nicht unbedingt "professionell" sein
|
|
|
03/28/2012, 22:00
|
#6
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Das ist eig. relativ simpel. Am besten packst du
Code:
$dll = DllOpen("user32.dll")
irgendwo ganz oben in dein Script, damit der Teil nicht öfters ausgeführt wird.
DllClose dann ganz am Ende.
|
|
|
04/01/2012, 12:28
|
#7
|
elite*gold: 0
Join Date: Mar 2008
Posts: 29
Received Thanks: 1
|
Code:
If _isPressed("01", $dll) then $COORD01 = MouseGetPos()
If ^ ERROR
Diese Fehlermeldung kommt nun..
|
|
|
04/01/2012, 12:30
|
#8
|
elite*gold: 50
Join Date: Mar 2010
Posts: 1,373
Received Thanks: 521
|
Code:
#include <Misc.au3>
vergessen?
|
|
|
04/01/2012, 12:46
|
#9
|
elite*gold: 0
Join Date: Mar 2008
Posts: 29
Received Thanks: 1
|
Funktioniert leider auch nicht.
Ist es normal das _isPressed, DDLOpen und DDlClose bei mir nich highlighted wird?
Code:
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
$dll = DllOpen("user32.dll")
HotKeySet("{F8}", "_01")
HotKeySet("{ESC}", "_exit")
Opt('TrayAutoPause', 0)
$Form1 = GUICreate("Form1", 175, 187, 200, 124)
$Group1 = GUICtrlCreateGroup("Functions", 16, 8, 145, 169)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label1 = GUICtrlCreateLabel("Func01", 32, 32, 76, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Button1 = GUICtrlCreateButton("SET", 40, 56, 65, 17)
$Label2 = GUICtrlCreateLabel("Func02", 35, 82, 94, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Button2 = GUICtrlCreateButton("SET", 42, 101, 65, 17)
$Label3 = GUICtrlCreateLabel("EXIT", 34, 129, 112, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Button3 = GUICtrlCreateButton("EXIT", 42, 146, 65, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
Func _01()
If Not WinActivate("Window") Then
WinActivate("Window")
EndIf
$pos = MouseGetPos()
Sleep(50)
MouseClick("left", $COORD01[0], $COORD01[1] ,1, 4)
sleep(50)
MouseClick("left", $pos[0], $pos[1] ,1, 4)
EndFunc
Func _exit()
DllClose("user32.dll")
ToolTip("[Tooltip: OFF in 1 Sec!]", 0, 0)
sleep(1000)
Exit
EndFunc
while 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
sleep(100)
ToolTip("[Tooltip: ON | F7: Func01 | ESC: EXIT]", 0, 0)
EndSwitch
If _isPressed("$Button1 ", $dll) then
WinActivate("Window")
$COORD01 = MouseGetPos()
EndIf
wend
|
|
|
04/01/2012, 13:06
|
#10
|
elite*gold: 50
Join Date: Mar 2010
Posts: 1,373
Received Thanks: 521
|
Quote:
|
WARNING: $COORD01: possibly used before declaration.
|
Wie der Fehler schon sagt, du nutzt eine Variable die nirgendswo deklariert wurde.
|
|
|
04/01/2012, 13:08
|
#11
|
elite*gold: 0
Join Date: Mar 2008
Posts: 29
Received Thanks: 1
|
Das heisst ich muss der Variable, in diesen Fall $COORD01, vorher schon einen Wert zuweisen?
|
|
|
04/02/2012, 14:19
|
#12
|
elite*gold: 1003
Join Date: Feb 2010
Posts: 791
Received Thanks: 709
|
nöö, das heisst das du die Variable, deklarieren sollst, bevor du sie benutzt...
Einfach am Anfang des Scripts Global $COORD01 und fertig...
Ausserdem is die Meldung kein Error sondern eine Warnung, welche es dir erlaubt das Script dennoch aszuführen...
|
|
|
Similar Threads
|
Metin2 Multihack by xKeinjalx l Hilfe l Hilfe l Hilfe Pleasy
03/18/2012 - Metin2 Private Server - 2 Replies
Hallo Elit(epvp)ers Mitglieder.
Ich habe Multihack von xkEinjalx herunter geladet.
Der Problem ist bei Metin2 Patcher.
Wenn Man Metin2 mit Patcher öffnet kann man nicht .dll Injecten!
Man Musst also mit Metin2client.bin in Metin2client.exe unbennen und öffnen.
Es kommt Metin2 Fenster, dann funkt es schon, aber es verbindet nicht zu Server.Es bleibt bei Du wirst mit dem Server verbunden stecken aber wenn man mit Metin2 Patcher öffnet es Loggt ein nur der Hackt geht dann nicht.
Der Link...
|
All times are GMT +1. The time now is 16:16.
|
|