Hallo,
könnte mir jemand sagen wie ich Autoit sagen kann, dass er nach einem Mausklick in einem bestimmten Bereich eines Fensters einen Befehl ausführt?
Finde leider nichts dazu.
Hallo,
könnte mir jemand sagen wie ich Autoit sagen kann, dass er nach einem Mausklick in einem bestimmten Bereich eines Fensters einen Befehl ausführt?
Finde leider nichts dazu.
Welches Fenster? Welcher Bereich? Mehr Informationen, bitte!
Welches Fenster? Welcher Bereich? Mehr Informationen, bitte!
Hallo,
also es soll ein Fenster mit einem bestimmten Titel sein.
und ein Bereich, also ein Rechteck/Quadrad z.B. mit den Koordinaten (x=10,y=10) bis (x=100,x=100) - wenn man in diesem Bereich von dem Fenster klickt soll ein Befehl ausgeführt werden.
also es soll ein Fenster mit einem bestimmten Titel sein.
Meinst du damit ist die Frage von Oscar beantwortet?
mfg autoBert
Meinst du damit ist die Frage von Oscar beantwortet?mfg autoBert
Ja, soll ich jetzt noch schreiben, der Titel des Fensters ist "Blabla"?
Ist doch völlig unrelevant oder nicht?
Tja, dann musst Du Dir halt selbst was basteln.
Hier ein paar Stichwörter:
- _IsPressed
- WinGetPos
- MouseGetPos
Tja, dann musst Du Dir halt selbst was basteln.
Hier ein paar Stichwörter:
- _IsPressed
- WinGetPos
- MouseGetPos
Hi,
verstehe nicht wieso du jetzt beleidigt bist, den Titel des Fensters weiß ich noch nicht, daher ist es doch unrelevant und du könntest da einen X-Beliebigen eintragen in ein Beispiel?
Ich würde nur gerne in einem Beispiel sehen wie man das realisiert..
Ich bin keineswegs beleidigt.
Es ist nur so, dass Du wichtige Informationen nicht nennst. Wenn ich jetzt lese, dass Du den Titel noch nicht weisst, dann lässt das darauf schliessen, dass es sich um eine eigene GUI handelt.
In dem Fall hast Du noch ganz andere Möglichkeiten (z.B. GUIGetCursorInfo):
#include <GUIConstantsEx.au3>
$hGui = GUICreate('Test')
GUISetState()
While True
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $GUI_EVENT_PRIMARYUP
$aInfo = GUIGetCursorInfo($hGui)
If $aInfo[0] > 10 And $aInfo[0] < 50 And $aInfo[1] > 10 And $aInfo[1] < 50 Then MsgBox(0, 'Klick', 'getroffen')
EndSwitch
WEnd
Hallo,
danke für die Mühe.
Aber es soll für kein eigenes GUI sein.
So funktioniert es bei mir:
also, ich muss dazu sagen ich bin ne Programmier Niete (bzw nie damit beschäftigt)
und muss mit den Befehlen bzw. können auskommen das ich habe
Sicher nicht übersichtlich und man kann es bestimmt viel kleiner schreiben.
#Include <Misc.au3>
$dll = DllOpen("user32.dll")
While 1
Sleep ( 250 )
If _IsPressed("01", $dll) Then
;----------------------RUN?------------------------------------------;
$mpos = MouseGetPos()
$wpos = WinGetPos("FENSTER")
$mx= $mpos[0]
$my= $mpos[1]
$Xkord = $mx - $wpos[0]
$Ykord = $my - $wpos[1]
;--------Feld1-----------;
If $xkord <= 90 AND $xkord >= 10 then
$x1ok=1
Else
$x1ok=0
EndIf
If $ykord <= 70 AND $ykord >= 50 then
$y1ok=1
Else
$y1ok=0
EndIf
if $x1ok=1 and $y1ok=1 Then
$run1=1
Else
$run1=0
EndIf
;--------Feld1-----------;
;-------Feld2-------;
If $xkord <= 290 AND $xkord >= 200 then
$x2ok=1
Else
$x2ok=0
EndIf
If $ykord <= 70 AND $ykord >= 50 then
$y2ok=1
Else
$y2ok=0
EndIf
if $x2ok=1 and $y2ok=1 Then
$run2=1
Else
$run2=0
EndIf
;-------Feld2-------;
;----------AUSFÜHREN-----------;
if $run1=1 OR $run2=1 Then
send ("AUSGEFÜHRT!")
Else
Endif
;----------AUSFÜHREN-----------;
;---------------------------RUN?--------------------------;
[/autoit][autoit][/autoit][autoit]ExitLoop
EndIf
WEnd
DllClose($dll)
Wäre schön wenn sich jemand die Zeit nimmt und das besser schreiben könnte
WegenVerdachts eines Verstoßes gegen die Forenregeln geschlossen. Keine Mitarbeit erkennbar leider…
Johannes