Leertaste gedrückt halten

05/12/2011 07:23 Memphiisto#1
Hey Leute :D

Ich habe wieder mal ne Frage. Und zwar:

Ich möchte ein Programm machen bei welchem die Leertaste die ganze zeit gedrückt wird, dazu hätt ich ja den code :

PHP Code:
Send("{SPACE DOWN}")
Sleep(5000)
Send("{SPACE UP}") 

Nun mein Problem liegt darin, dass er immer nur einmal Leertaste sendet und nicht wie wenn man in echt die Leertaste gedrückt wird öfters sendet.

In einer Schleife würde es ja Funktioneren, kein Problem. Aber ich würde gerne wissen ob jemand eine andere Lösung dafür hatt (in den 5 Sekunden beim Sleep solllte die Leertaste einfach gedrückt bleiben und deshalb die ganze Zeit auch gesendet werden.



Mfg Magic :handsdown:
05/12/2011 08:14 TechnoMan#2
Nein du musst eine While schleife nutzen da bei einem Sleep das ganze Programm pausiert und daher auhc nicht mehr weiterarbeitet ;)
05/12/2011 10:15 BlackHybrid#3
Oder du benutzt einfach:
PHP Code:
Opt("SendKeyDownDelay",5000) 
Oder du löst es umständlich mit Timern
05/12/2011 10:16 Kazaaa#4
PHP Code:
While 1
Send
("{SPACE DOWN}")
Sleep(5000)
Send("{SPACE UP}")
Wend 
.
05/12/2011 10:24 BlackHybrid#5
Oder einfach so:
PHP Code:
#include <Timers.au3>
$Timer = _Timer_Init()
While 
_Timer_Diff($Timer) < 5000
    Send
("{SPACE}")
WEnd 
05/12/2011 20:42 Memphiisto#6
Funktioniert alles, danke :)

Das mit Timerdiff funktioniert am besten, nur da habe ich das Problem dass die CPU Auslastung mächtig hoch steigt, genau das wollte ich eigentlich vermeiden ;D





MFG Magic
05/12/2011 22:22 SCORNI#7
Quote:
Originally Posted by MagicDave View Post
Funktioniert alles, danke :)

Das mit Timerdiff funktioniert am besten, nur da habe ich das Problem dass die CPU Auslastung mächtig hoch steigt, genau das wollte ich eigentlich vermeiden ;D





MFG Magic
Bau in die while schleife sleep (10) ein, da durch steigt die Auslastung auf max 5%