Hi,
habe ne GUI und möchte wenn ich ein Linksklick drauf gemacht habe, das diese Koordinaten in nem Array gespeichert werden.
Habe in der Hilfe und mit der SuFu nichts gefunden.
Ich hoffe ihr könnt mir helfen.
MfG
Bladerunner
Hi,
habe ne GUI und möchte wenn ich ein Linksklick drauf gemacht habe, das diese Koordinaten in nem Array gespeichert werden.
Habe in der Hilfe und mit der SuFu nichts gefunden.
Ich hoffe ihr könnt mir helfen.
MfG
Bladerunner
Ich hab mal ne Testgui erstellt und auch (auskommentiert) Rechtsklick hinzugefügt:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
HotKeySet("{F2}", "Info") ; F2 gibt die Koordinaten aus, die bereits in dem 2D-Array gespeichert sind
Dim $Info[1][2]
$Info[0][0] = 0
$Info[0][1] = 0
GUICreate("Test", 400, 400)
GUISetState()
While 1
$msg = GUIGetMsg()
Switch $msg
Case -3
Exit
Case $GUI_EVENT_PRIMARYDOWN; Primärtaste (Linksklick 'Down')
$pos = GUIGetCursorInfo()
If IsArray($pos) Then
$Info[0][0] = $pos[0]
$Info[0][1] = $pos[1]
TrayTip("Primary down", $pos[0] & " x " & $pos[1], 1)
EndIf
#cs
Case $GUI_EVENT_PRIMARYUP ; Primärtaste (Linksklick 'UP')
$pos = GUIGetCursorInfo()
If IsArray($pos) Then
$Info[0][0]=$pos[0]
$Info[0][1]=$pos[1]
TrayTip("Primary UP",$pos[0]&" x "&$pos[1],1)
EndIf
Case $GUI_EVENT_SECONDARYDOWN
$pos = GUIGetCursorInfo()
If IsArray($pos) Then
$Info[0][0]=$pos[0]
$Info[0][1]=$pos[1]
TrayTip("Secondary down",$pos[0]&" x "&$pos[1],1)
EndIf
Case $GUI_EVENT_SECONDARYUP
$pos = GUIGetCursorInfo()
If IsArray($pos) Then
$Info[0][0]=$pos[0]
$Info[0][1]=$pos[1]
TrayTip("Secondary UP",$pos[0]&" x "&$pos[1],1)
EndIf
#ce
EndSwitch
Sleep(10)
WEnd
Func Info()
MsgBox(0, "Positionen", "x : " & $Info[0][0] & @CRLF & "y : " & $Info[0][1])
EndFunc ;==>Info
Danke für deine Antwort!
Vlt kannts du mir auch bei meinem neuen Problem helfen:
Habe wieder eine einfaches GUI und möchte mit GDI+ eine Linie zeichnen.
Erster Linksklick soll den Startpunkt festlegen und zweiter Linksklick den Endpunkt.
Bekomme es alleine leider nicht hin.
MfG
Bladerunner
Geht das nicht in die richtung Keylogger?
Nene...
xD
will ne art Zeichenprogramm machen^^
MfG
Bladerunner
Geht das nicht in die richtung Keylogger?
wie kommst du den so auf Keylogger???
wenn er einen Strich zeichnen will, will er gleich nen keylogger bauen?
ich sehe da keinen zusammenhang
Vielleicht will er ja erstmal den Plan zeichnen.
Kennt keiner eine Lösung für mein Problem?
Hmmm Zeichenprogramm... So was?
#include <GUIConstants.au3>
#include <GDIPlus.au3>
#include <Misc.au3>
Opt ("MouseCoordMode", 2)
[/autoit] [autoit][/autoit] [autoit]$LineCount = 0
$dll = DllOpen("user32.dll")
Dim $aLines[99999][4]
For $i = 0 To UBound($aLines, 1) - 1
$aLines[$i][0] = ""
$aLines[$i][1] = ""
$aLines[$i][2] = ""
$aLines[$i][3] = ""
Next
$hWnd = GUICreate("Test", 400, 400)
GUISetState()
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
$hBitmap = _GDIPlus_BitmapCreateFromGraphics(400, 400, $hGraphic)
$hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
_GDIPlus_GraphicsSetSmoothingMode($hBuffer, 2)
_GDIPlus_GraphicsClear($hGraphic, 0xFFFFFFFF)
While 1
$nMsg = GUIGetMsg(1)
Switch $nMsg[0]
Case $GUI_EVENT_CLOSE
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_GraphicsDispose($hBuffer)
_GDIPlus_BitmapDispose($hBitmap)
_GDIPlus_Shutdown()
DllClose($dll)
Exit
Case $GUI_EVENT_PRIMARYDOWN
While _IsPressed("01", $dll)
_GDIPlus_GraphicsClear($hBuffer, 0xFFFFFFFF)
For $i = 0 To $LineCount
_GDIPlus_GraphicsDrawLine($hBuffer, $aLines[$i][0], $aLines[$i][1], $aLines[$i][2], $aLines[$i][3])
Next
$Pos = MouseGetPos()
_GDIPlus_GraphicsDrawLine($hBuffer, $nMsg[3], $nMsg[4], $Pos[0], $Pos[1])
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, 400, 400)
WEnd
$aLines[$LineCount][0] = $nMsg[3]
$aLines[$LineCount][1] = $nMsg[4]
$aLines[$LineCount][2] = $Pos[0]
$aLines[$LineCount][3] = $Pos[1]
$LineCount += 1
EndSwitch
WEnd
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 625, 443, 192, 154)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg(1)
Select
Case $nMsg[0]=$GUI_EVENT_CLOSE
Exit
Case $nMsg[0]=$GUI_EVENT_PRIMARYDOWN
MsgBox(0,"","X Pos="&$nMsg[3]&@CRLF&"Y Pos="&$nMsg[4])
EndSelect
WEnd
Also ich würd es so machen
name22: Ich bin in arrays noch kein meister und deshalb wollte ich fragen, ob du mir erklären kannst, was genau in deinem script passiert, denn ich bin selbst nach so etwas ähnlichem auf der suche.
MfG