|
You last visited: Today at 01:44
Advertisement
Taste gedrückt halten
Discussion on Taste gedrückt halten within the AutoIt forum part of the Coders Den category.
01/24/2015, 16:52
|
#1
|
elite*gold: 138
Join Date: Apr 2012
Posts: 3,495
Received Thanks: 1,769
|
Taste gedrückt halten
Hallo,
da ich im "kleine Fragen" Sticky keine Antwort bekomme, hoffe ich, dass das hier mehr Personen lesen. Unzwar möchte ich einen Bot schreiben und muss dafür die Pfeiltasten gedrückt halten. Angeblich soll das ja funktionieren wenn man bei Send() ein "down" und zum abheben ein "up" dranhängt aber es funktioniert bei mir nicht. Es wird nur 1x die Pfeiltaste gesendeet, aber nicht gedrückt gehalten:
Send("{DOWN down}")
Sleep(3000)
Send("{DOWN up}")
|
|
|
01/24/2015, 18:47
|
#2
|
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 572
|
SendMessage aus der WinAPI
|
|
|
01/24/2015, 20:46
|
#3
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Vermutlich liegt es am Spiel wo du es testest. Wenn du das am Editor versuchst wirst du sehen das der 3 Sekunden lang den Cursor nach unten drückt.
|
|
|
01/24/2015, 20:49
|
#4
|
elite*gold: 138
Join Date: Apr 2012
Posts: 3,495
Received Thanks: 1,769
|
Ne beim notepad hab ich es ausprobiert. Dort geht es auch nicht
|
|
|
01/24/2015, 22:55
|
#5
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
du machst es dann einfach falsch.
PostMessage gibts hier auch als udf
|
|
|
01/24/2015, 23:10
|
#6
|
elite*gold: 138
Join Date: Apr 2012
Posts: 3,495
Received Thanks: 1,769
|
Quote:
Originally Posted by »FlutterShy™
du machst es dann einfach falsch.
PostMessage gibts hier auch als udf
|
Dann sag mir wie ichs richtig mache
|
|
|
01/25/2015, 19:54
|
#7
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by moneypulation
Dann sag mir wie ichs richtig mache
|
Meine Glaskugel ist momentan kaputt. Ich erkenn da leider nichts
|
|
|
01/26/2015, 10:31
|
#8
|
elite*gold: 0
Join Date: Nov 2010
Posts: 1,548
Received Thanks: 333
|
Nach ich im dem Artikel zu gestöbert hatte, ist mir eingefallen was als Bedingung gegeben sein muss. Also ich habs im Notepad getestet und ja geht. Der Fehler liegt bei dir, kann es sein das beim Debuggen/Ausführen das Script nicht die selben bzw niedriegere Rechte hat als der Spieleprozess ? Versuch ist es wert ansonsten fällt mir auch nichts mehr großartig ein. (Eigentlich Sinnlos wenn er es im Fenster ja ausführt, egal ob korrekt oder nicht) Ansonsten aus der Reihe der Befehle wüsste ich nur aber ich glaube damit kann man dieses gedrückt halten nicht realisieren.
|
|
|
01/26/2015, 17:27
|
#9
|
elite*gold: 138
Join Date: Apr 2012
Posts: 3,495
Received Thanks: 1,769
|
Quote:
Originally Posted by Waller66
Nach ich im dem Artikel zu gestöbert hatte, ist mir eingefallen was als Bedingung gegeben sein muss. Also ich habs im Notepad getestet und ja geht. Der Fehler liegt bei dir, kann es sein das beim Debuggen/Ausführen das Script nicht die selben bzw niedriegere Rechte hat als der Spieleprozess ? Versuch ist es wert ansonsten fällt mir auch nichts mehr großartig ein. (Eigentlich Sinnlos wenn er es im Fenster ja ausführt, egal ob korrekt oder nicht) Ansonsten aus der Reihe der Befehle wüsste ich nur aber ich glaube damit kann man dieses gedrückt halten nicht realisieren.
|
Kannst du mir den Code zeigen mit dem es bei dir funktioniert? Ich habs auch mit #RequireAdmin versucht, an den Rechten liegt es glaub ich nicht
|
|
|
01/26/2015, 17:52
|
#10
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Quote:
Originally Posted by moneypulation
Kannst du mir den Code zeigen mit dem es bei dir funktioniert? Ich habs auch mit #RequireAdmin versucht, an den Rechten liegt es glaub ich nicht
|
Compiliere das ganze einfach und starte die exe als Admin...
Send funktioniert in jedem Falle in Notepad. Sollte es bei dir Probleme geben liegt es definitv an dir.
Gründe hierfür könnte man nur erahnen. Sollte das Ausführen der compilierten exe als Admin nicht funktionieren, versuche mal eine Neuinstallation von Autoit.
Funktioniert es danach immernoch nicht, blockiert irgendetwas auf deinem System derartige Inputs (vielleicht ein Antivirus?)
PS:
Die meisten Anwendungen interessiert es nicht wann du Keydown und Keyup Events verwendest. Es wird ein Keydown registriert => die Taste wurde gedrückt. Keyup wird oftmals einfach ignoriert, da es reicht zu wissen, wann eine Taste gedrückt wurde (die Dauer ist dabei oftmals irrelevant).
Wiederholtes Senden der entsprechenden Taste könnte dein Problem also auch lösen...
|
|
|
01/30/2015, 19:26
|
#11
|
elite*gold: 138
Join Date: Apr 2012
Posts: 3,495
Received Thanks: 1,769
|
Quote:
Originally Posted by lolkop
Compiliere das ganze einfach und starte die exe als Admin...
Send funktioniert in jedem Falle in Notepad. Sollte es bei dir Probleme geben liegt es definitv an dir.
Gründe hierfür könnte man nur erahnen. Sollte das Ausführen der compilierten exe als Admin nicht funktionieren, versuche mal eine Neuinstallation von Autoit.
Funktioniert es danach immernoch nicht, blockiert irgendetwas auf deinem System derartige Inputs (vielleicht ein Antivirus?)
PS:
Die meisten Anwendungen interessiert es nicht wann du Keydown und Keyup Events verwendest. Es wird ein Keydown registriert => die Taste wurde gedrückt. Keyup wird oftmals einfach ignoriert, da es reicht zu wissen, wann eine Taste gedrückt wurde (die Dauer ist dabei oftmals irrelevant).
Wiederholtes Senden der entsprechenden Taste könnte dein Problem also auch lösen...
|
Am Antivirus liegts auch nicht. Wiederholtes Senden nützt in meinem Fall leider nicht. Gibts denn vielleicht eine andere Methode Tasten gedrückt zu halten außer mit Send() ?
|
|
|
02/12/2015, 13:28
|
#12
|
elite*gold: 0
Join Date: Jan 2008
Posts: 32
Received Thanks: 7
|
Quote:
Originally Posted by moneypulation
Hallo,
da ich im "kleine Fragen" Sticky keine Antwort bekomme, hoffe ich, dass das hier mehr Personen lesen. Unzwar möchte ich einen Bot schreiben und muss dafür die Pfeiltasten gedrückt halten. Angeblich soll das ja funktionieren wenn man bei Send() ein "down" und zum abheben ein "up" dranhängt aber es funktioniert bei mir nicht. Es wird nur 1x die Pfeiltaste gesendeet, aber nicht gedrückt gehalten:
Send("{DOWN down}")
Sleep(3000)
Send("{DOWN up}")
|
Liegt es nicht ganz einfach am Sleep? Denn wenn ich mich gerade nicht komplett irre, wird das script mit Sleep pausiert, somit also auch der Tastendruck.
Probier mal
Code:
Local $timer = TimerInit()
Local $delay = 3000
While 1
If TimerDiff($timer) < $delay Then
Send("{DOWN down}")
Else
Send("{DOWN up}")
EndIf
WEnd
Nur zu Testzwecken
|
|
|
02/12/2015, 16:23
|
#13
|
elite*gold: 138
Join Date: Apr 2012
Posts: 3,495
Received Thanks: 1,769
|
Quote:
Originally Posted by Clonko
Liegt es nicht ganz einfach am Sleep? Denn wenn ich mich gerade nicht komplett irre, wird das script mit Sleep pausiert, somit also auch der Tastendruck.
Probier mal
Code:
Local $timer = TimerInit()
Local $delay = 3000
While 1
If TimerDiff($timer) < $delay Then
Send("{DOWN down}")
Else
Send("{DOWN up}")
EndIf
WEnd
Nur zu Testzwecken
|
Ich hab das Problem mittlerweile gefunden. Vielleicht hilft es für andere, die mal das selbe Problem haben werden:
Man kann nicht per Taste einen Send down bzw. Send up Befehl aufrufen, da in dem Moment ja eine Taste gedrückt wird. Wenn man es so macht wie du oder z.B. per F-Tasten die Methode aufruft, funktioniert es
|
|
|
|
Similar Threads
|
Taste gedrückt halten + Multitasking?
01/20/2013 - AutoIt - 4 Replies
Hallo liebe Community,
Ich möchte gerne die Pfeiltaste nach rechts gedrückthalten, gleichzeitig einen Mausklick machen und nach dem Mausklick die Pfeiltaste nach rechts loslassen. Wie geht das?
|
taste gedrückt halten hidden
07/23/2012 - AutoIt - 0 Replies
Guten Abend liebe Com,
ich habe folgendes problem:
ControlSend("GTA:SA:MP", "", "", "{S down}")
Sleep(500)
ControlSend("GTA:SA:MP", "", "", "{S up}")
Dieser code funktioniert nur bei geöffneten Fenster. wenn ich das Game Fenster zu habe funkt höchstens:
ControlSend("GTA:SA:MP", "", "", "S")
|
Maus Taste gedrückt halten
10/09/2011 - AutoIt - 6 Replies
Hi leute,
ich will nen programm schreiben, dass wenn ich die rechte maustaste gedrückt halte die rechte maustaste ganz schnell hintereinander gedrückt wird.
Meine frage: wie benutze ich "halte rechte maustaste" als hotkey?
also "mouseclick" ist das ja nicht.
Sorry für die komische Formulierung.
|
[FRAGE] AutoIT eine Taste gedrückt halten?
12/09/2010 - AutoIt - 2 Replies
Was muss ich eintippen, damit AutoIT z.b. die Taste F 5Sekunden lang "gedrückt" hält?
|
autoit taste beliebig lange gedrückt halten
02/12/2007 - Off Topic - 10 Replies
moin,
kennt jemand den befehl für autoit das ich zb 35 sec. lang w gedrückt halte?
Thanx
eddie :bandit:
|
All times are GMT +2. The time now is 01:44.
|
|