mausklick links send 1?

01/10/2012 19:31 fisch85#1
ich weiss ihr werdet euch jetz kaputt lachen aber ich kriegs einfah nich gebacken

einfache aufgabe wenn ich die linke maus taste drück soll der ne 1 senden kann mir da einer ma ne vorlage geben
01/10/2012 19:37 xShizoidx#2
Lachen wird darüber keiner, denke ich mal. Wenn man den Befehl nicht weiß oder noch sich noch nicht so lange mit Autoit beschäftigt hat, ist es normal, dass man manche Sachen nicht hinbekommt.
Hier mal ein Beispiel :
F11 zum beenden drücken

Code:
HotKeySet("{F11}","_Exit") ; Wenn der Hotkey F11 gedrückt wird, dann wird das Script beendet.
#include <Misc.au3> ; Include welches benötigt wird ( die benötigten Includes für ein Befehl sind
 ; auch in der Hilfe bei einem Befehl angegeben 

$dll = DllOpen("user32.dll") ; DLL wird geöffnet > wird benötigt für _IsPressed > siehe Hilfe

While 1 ; While Schleife Beginn
	sleep(70) ; schlafen/warten für 70 Millisekunden
    If _IsPressed("01", $dll) Then ; Wenn Maustaste links gedrückt wird, dann
        Send("1") ; Sende die Zahl 1
    EndIf ; Ende der Bedingung/If 
WEnd ; While Schleife Ende

Func _Exit() ; Func start > wird aufgerufen, wenn F11 gedrückt wird > siehe oben
	DllClose($dll) > DLL , welche am Anfang geöffnet wurde, wird beim Beenden geschlossen
	Exit ; Beenden des Scriptes
EndFunc ; Ende eines Funcs
01/10/2012 19:39 fisch85#3
>Running:(3.3.8.0):C:\Program Files (x86)\AutoIt3\autoit3_x64.exe "C:\Users\Fisch\Desktop\ballerscripts\AutoIt v3 Script (neu).au3"
+>19:38:53 AutoIT3.exe ended.rc:0
>Exit code: 0 Time: 4.127

-.-* das hab ich die ganze zeit egal was ich versuche

-.-* das hab ich die ganze zeit egal was ich versuche
01/10/2012 19:43 Slorkr4yn#4
Mit erklärung, weil ich Weiterbildung liebe:

Also erstmal den Code für: wenn ich linke maustaste klicke
- If heist wenn und leitet eine If Schleife ein
-Mouseclick ist ein Befehl für einen Mausklick ^^
-Left in den Gänsefüschen ist eine definition von dem Befehl Mouseclick also links.
-Then heist: wenn das hinter dem if erfüllt ist passsiert das nach dem then
Code:
 If Mouseclick("left") Then
Danach den einser senden auf das derzeitig geöfnette und aktive fenster

-Send steht für auf das aktive Fenster Senden(SendControl wäre eine ähnliche Funtion aber viel kompakter)
-Der einser in den Gänsefüschen steht für das was man senden soll.

Code:
Send("1")
Dann die Ifschleife beenden
-EndIf steht für beende die If-Schleife.
Code:
EndIf
Dann musst du noch drüber schreiben:

Code:
While 1
sleep(1)
WEnd
-While leitet eine While schleife ein
- 1 steht für das das erfüllt sein muss um die While schleife aufrechtzuerhalten, das heist diese Schleife läuft endlos
-WEnd beendet eine While-Schlife

Die While Schleife brauchen wir damit das Programm sich nicht beendet.

LG ^^
01/10/2012 19:51 xShizoidx#5
Habe mein Code eben mal etwas erneuert. Kommentare kommen gleich ebenfalls hinzu.
Die Methode mit " If Mouseclick .... " funktioniert nicht.
Entweder mit _IsPressed oder HotKeySet, aber das Problem ist, dass man HotKeySet nicht für die linke Maustaste verwenden kann, also bleibt nur noch _IsPressed.
01/10/2012 19:53 fisch85#6
If Mouseclick("left") Then
Send("1")
EndIf1

While 1
sleep(1)
WEnd

so steht das
auch kein error
aaaber drückt nich 1 -.-
01/10/2012 20:00 xShizoidx#7
Quote:
Originally Posted by fisch85 View Post
If Mouseclick("left") Then
Send("1")
EndIf

While 1
sleep(1) ; Sleep für 1 Millisekunde? Da kannst es gleich weglassen.
WEnd

so steht das
auch kein error
aaaber drückt nich 1 -.-
Die Methode mit " If Mouseclick("left") " funktioniert nicht.
Dein Script überprüft dies sowieso oben nur für paar Millisekunden, da es in keine Schleife ist und er übergeht zur While Schleife. Und in der While Schleife passiert nicht wirklich etwas.
So müsste es aussehen :

Code:
While 1
sleep(70)
If Mouseclick("left") Then
Send("1")
EndIf
WEnd
Aber wie gesagt es funktioniert mit der Methode nicht.
01/10/2012 20:28 omer36#8
Quote:
Originally Posted by Slorkr4yn View Post
Mit erklärung, weil ich Weiterbildung liebe:

Also erstmal den Code für: wenn ich linke maustaste klicke
- If heist wenn und leitet eine If Schleife ein
(.....)

LG ^^
looool, den rest braucht man ja wohl nicht mehr zu lesen.


[Only registered and activated users can see links. Click Here To Register...]
01/10/2012 20:32 fisch85#9
While 1
sleep(70)
If Mouseclick("left") Then
Send("1")
EndIf
WEnd

so tut es ja schon ma die eins drücken aber der hört nich mehr damit auf wie kann ich das stoppen? mit ner pause?
01/10/2012 22:31 xShizoidx#10
Quote:
Originally Posted by fisch85 View Post
While 1
sleep(70)
If Mouseclick("left") Then
Send("1")
EndIf
WEnd

so tut es ja schon ma die eins drücken aber der hört nich mehr damit auf wie kann ich das stoppen? mit ner pause?
Wie schon öfters geschrieben funktioniert es mit " If Mouseclick..." nicht !
Lies dir mal oben mein Script durch, das funktioniert auf jeden Fall.

Quote:
-While leitet eine While schleife ein
- 1 steht für das das erfüllt sein muss um die While schleife aufrechtzuerhalten, das heist diese Schleife läuft endlos
-WEnd beendet eine While-Schlife

Die While Schleife brauchen wir damit das Programm sich nicht beendet.

LG ^^
Es muss nichts in eine While Schleife hineingefügt werden. Sleep(1) lohnt sich sowieso nicht ganz, da er dann nur 1 Millisekunde wartet.
01/10/2012 22:51 MoepMeep#11
Quote:
Originally Posted by netterwurm8 View Post
Sleep(1) lohnt sich sowieso nicht ganz, da er dann nur 1 Millisekunde wartet.
Falsch.
01/10/2012 23:22 fisch85#12
ja aber wenn das script so steht perfekt es läuft aaaber der drückt immer 1 der soll ja nur 1 mal 1 drücken wenn ich die maus klick nich 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
nur mousclick("left") und 1 mal send(1) dann pause bis zum nächsten mousklick sollte ich das besser als nen funk packen mit nen AdlibRegister und nen AdlibUnRegister
von mir aus kan der auch strg drücken das egal hauptsache der drückt erst wenn die mouse den links click macht
01/11/2012 00:11 xShizoidx#13
Quote:
Originally Posted by MoepMeep View Post
Falsch.
Wieso falsch? sleep (1) = 1 Millisekunde Pause.

Was lohnt sich denn daran? Ob er nun 1 Millisekunde Pause macht oder nicht ..
01/11/2012 00:20 lolkop#14
Quote:
Originally Posted by netterwurm8 View Post
Wieso falsch? sleep (1) = 1 Millisekunde Pause.

Was lohnt sich denn daran? Ob er nun 1 Millisekunde Pause macht oder nicht ..
naja wenn dein prozessor pro millisekunde sagen wir mal 100aktionen schafft, kannst du dir ja mal überlegen was es für dich für einen unterschied macht, ob du in einer zeiteinheit 100 liegestütz machst, danach eine zeiteinheit pause dann wieder eine zeiteinheit 100, oder stattdessen einfach 300 in 3 zeiteinheiten :P
01/11/2012 01:54 MoepMeep#15
Quote:
Originally Posted by netterwurm8 View Post
Wieso falsch? sleep (1) = 1 Millisekunde Pause.
Theoretisch ja, praktisch nicht.