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:
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.
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
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...
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() ?
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
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
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.
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: