Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 03:20

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Eine Taste eine Zeit lang Zeitlang runter drücken

Discussion on Eine Taste eine Zeit lang Zeitlang runter drücken within the AutoIt forum part of the Coders Den category.

Closed Thread
 
Old   #1
 
ProImba's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 88
Received Thanks: 32
Eine Taste eine Zeit lang Zeitlang runter drücken

Hallo ich bin AutoIt Anfänger und beschäftige mich schon länger mit der Frga ewie man es ins Script schreibt das nicht nur die Taste gesendet wird sondern auch für eine selbst bestimmte Zeit runter gedrückt wird...
Würdet ihr mir bitte ein Beispiel machen??
mfg Nachwuchs Scripter ProImba
ProImba is offline  
Old 07/11/2009, 16:11   #2
 
elite*gold: 2
Join Date: Oct 2006
Posts: 218
Received Thanks: 138
Das geht mit HotKeySet

Als Beispiel:

Code:
HotKeySet("g","_Test")

While 1
	Sleep(50)
WEnd

Func _Test()
	Sleep(50)
EndFunc
das kleine g wird nun abgefangen und nicht mehr weitergesendet.

Edit: Ich habe die Frage falsch gelesen und dachte du meintest unterdrückt

Da es schon ewig her ist das ich mit Send Befehlen gearbeitet habe weiß ich nicht ob
es dafür eine direkte Methode gibt. Du kannst doch einfach den Send Befehl in eine
Schleifen schreiben und sooft wiederholen lassen wie du möchtest.
Mankana is offline  
Old 07/11/2009, 16:42   #3
 
| Moep |'s Avatar
 
elite*gold: 0
Join Date: Apr 2008
Posts: 1,079
Received Thanks: 438
Lies dir einfach mal die Autoit Hilfe zum Thema send bis zum ende durch!

| Moep | is offline  
Old 07/11/2009, 17:05   #4
 
elite*gold: 2
Join Date: Oct 2006
Posts: 218
Received Thanks: 138
Sein Problem ist das er eine Taste über einen Zeitraum gedrückt haben will, was mit dem
regulären Send Befehl nicht geht (ein Key Down Event wartet nicht auf Key Up).
Eine Möglichkeit wäre folgendes:

$dauer = 1000

$zeit = TimerInit()

Do
Send("{q}") ;meinetwegen auch Send("{q DOWN}") mit anschließenden UP
Until TimerDiff($zeit) >= $dauer
Mankana is offline  
Thanks
1 User
Old 07/12/2009, 12:51   #5
 
| Moep |'s Avatar
 
elite*gold: 0
Join Date: Apr 2008
Posts: 1,079
Received Thanks: 438
Das was du Mankana da in deinem Pseudocode machen willst is nichts anderes als die taste immer wieder zu tippen, also vom prinzip her so:

Code:
...
Send("a")
Sleep(10)
Send("a")
Sleep(10)
Send("a")
Sleep(10)
...
Die Frage war aber

Quote:
Originally Posted by ProImba View Post
...wie man es ins Script schreibt das nicht nur die Taste gesendet wird sondern auch für eine selbst bestimmte Zeit runter gedrückt wird...
Und in der Autoit Hilfe steht:

Quote:
Um eine Taste gedrückt zu lassen (brauchbar eigentlich nur für Spiele):
Send("{a down}") ;Hält die Taste A gedrückt
Send("{a up}") ;Lässt die Taste wieder los
| Moep | is offline  
Thanks
1 User
Old 07/12/2009, 13:57   #6
 
elite*gold: 2
Join Date: Oct 2006
Posts: 218
Received Thanks: 138
Und beantwortet dein aus der Hilfe genommenes Zitat die Frage?
Vielleicht solltest du den Befehl einfach mal ausprobieren.
Ich habe außerdem dazu geschrieben warum das nicht so geht wie er es sich scheinbar
wünscht, deswegen habe ich ihn ein Workaround präsentiert.
Mankana is offline  
Old 07/12/2009, 13:59   #7
 
elite*gold: 20
Join Date: Feb 2007
Posts: 3,080
Received Thanks: 4,294
| Moep | hat doch vollkommen recht.

Send("{a down}") ;Hält die Taste A gedrückt
sleep(die zeit die die taste gedrückt werden soll)
Send("{a up}") ;Lässt die Taste wieder los

bei diversen onlinegames hat das schon immer so funktioniert.
kknb is offline  
Thanks
1 User
Old 07/12/2009, 15:12   #8
 
elite*gold: 2
Join Date: Oct 2006
Posts: 218
Received Thanks: 138
Bei mir funktionierte das nicht, da wurde nur ein kurzer Tastenanschlag ausgegeben
unabhängig von der Zeitdifferenz zwischen down und up.
Mankana is offline  
Old 07/12/2009, 20:26   #9
 
| Moep |'s Avatar
 
elite*gold: 0
Join Date: Apr 2008
Posts: 1,079
Received Thanks: 438
Danke kknb

Die Taste wird für die angegebene zeit gedrückt, probiers mal in einem game aus.
Du erwartes vielleicht das bei den key down Befehl in einer textdatei "aaaaaaaaa..." stehen müsste, was jedoch nicht der Fall ist. Liegt vielleicht daran das Windows ein gedrückt halten einer taste nach einer bestimmten Zeit so ausgibt. Aber anscheinend umgeht man mit der key down func diese windows func.
| Moep | is offline  
Old 07/12/2009, 21:18   #10
 
SCORNI's Avatar
 
elite*gold: 26
Join Date: Jun 2009
Posts: 972
Received Thanks: 228
Quote:
Originally Posted by Mankana
Bei mir funktionierte das nicht, da wurde nur ein kurzer Tastenanschlag ausgegeben
unabhängig von der Zeitdifferenz zwischen down und up.
Auch wenn Moep sschon alles beantwortet hat kannst Du aber leicht testen ob die Taste wirklick runter gedrückt wurde mach es doch einfach so :
PHP Code:
send ("{f down}")
sleep (5000)
send ("{f up}")
inputbox ("",""
SCORNI is offline  
Old 07/13/2009, 15:11   #11
 
felixli93's Avatar
 
elite*gold: 0
Join Date: Aug 2008
Posts: 820
Received Thanks: 909
SCORNI deine kommentare sind total unangebracht.
was sagt eine leere inputbox darüber aus, ob die taste nun gedrückt wurde oder nicht?

die inputbox wird so oder so erscheinen!
felixli93 is offline  
Old 07/13/2009, 15:39   #12
 
SCORNI's Avatar
 
elite*gold: 26
Join Date: Jun 2009
Posts: 972
Received Thanks: 228
@felixli93
aber nicht nach der zeit die du zwischen down und up angegeben hast. Die inputbox könnte man auch durch ne msgbox oder traytip ersetzen. So kann man testen ob der Befehl so ausgeführt wurde wie man ihn angegeben hat. zb auf meinem altem linux rechner spinnen manche befehle wie sleep. er macht zwar einen sleep befehl aber immer nur 1 sekunde auch wenn ich 20 angebe.
SCORNI is offline  
Old 07/13/2009, 15:46   #13
 
felixli93's Avatar
 
elite*gold: 0
Join Date: Aug 2008
Posts: 820
Received Thanks: 909
dann tut dein linux-rechner mir leid, das ist dann wohl der einzige, der spinnt.
auf jeden fall ist es sinnlos, mit einer msgbox oder sonstigem zu überprüfen, ob ein sleep-befehl lange genug pausiert hat, denn das sollte er immer tun.

tut er das nicht, ist dein computer schrott oder autoit fehlt was
felixli93 is offline  
Old 07/13/2009, 17:12   #14
 
SCORNI's Avatar
 
elite*gold: 26
Join Date: Jun 2009
Posts: 972
Received Thanks: 228
mein pc spinnt nicht ich habe 4 rechner in meinem haus 2 xp´s 1vista 1linux und alle laufen einwandfrei. Jeder von denen kann 2 monitore nehmen und auf jedem monitor einmal nfs undercover ausführen. Jeder rechner hat 8 gb ram
Hier mal einer von den beiden xp´s
[URL=http://img200.imageshack.us/i/307200910h44min19sec.png/] [/URL
SCORNI is offline  
Old 07/13/2009, 17:19   #15
 
Syc0n's Avatar
 
elite*gold: 20
Join Date: Oct 2008
Posts: 1,835
Received Thanks: 1,638
Na und ich hab 26 PC's hier, alle mit 10 gb Ram und 1 Terrabyte Festplatten...

Können wir jetzt diesen Online-Schwanzvergleich, den eh keiner Nachweisen kann, seien lassen und kannst du , SCORNI, aufhören alte Threads, falsche Lösungen oder unaangebrachte Kommentare zu posten?!
Syc0n is offline  
Closed Thread


Similar Threads Similar Threads
Alle 5 Sekunden eine Taste drücken
08/28/2010 - AutoIt - 4 Replies
Könnte mir das jemand mal reinstellen? Einfach nur den Befehl, das alle 5sek die Taste F1 gedrückt wird. Das wäre total lieb x3 -> Ich habe WIRKLICH schon die SuFu hier und Google benutzt aber leider nicht das gefunden was ich brauche.
Frage : was ist das für eine taste?
05/29/2010 - AutoIt - 3 Replies
Halo leute :D ICh wollte mal Fragen, wie diese taste in AutoIT Ausgedrückt wird : ^ Und wie Tab(das 3. über STRG) ausgedrückt wird? Ich weiss nur folgende auswendig : ! = alt-knopf ^ = strg-knopf {Enter} = Enter-knopf
makro prob - wie 2 skills auf eine taste
09/06/2006 - World of Warcraft - 10 Replies
hoi kann mir jemand sagen wie ich berserkerwut und abfangen(rang 2) auf eine makro taste bekomm? thx im vorraus



All times are GMT +1. The time now is 03:24.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.