Hi, gibt es in Autoit die Möglichkeit, eine Taste zu drücken (bsplsw."a") und solange wie ich a gedrückt halte wird vom Autoit Programm eine andere Taste (bsplsw. "b") gedrückt?
Gruß, 0815-SCRPTR
Taste dauerhaft gedrückt halten
-
- [ offen ]
-
0815-Scripter -
20. November 2011 um 19:44 -
Geschlossen -
Erledigt
-
-
Moin,
jupp, geit, hab mal ein schnelles Beispiel geschrieben:
Spoiler anzeigen
[autoit];taste drücken solange eine andere taste gedrückt ist:
[/autoit] [autoit][/autoit] [autoit]
#include <Misc.au3> ; für _IsPressed;die nächsten kommen vom Koda Form Designer
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\_AutoIT\AutoIt.de\tastedrueckenBeispiel.kxf
$Form2 = GUICreate("Drücke a bekomme b Demo", 405, 294, 302, 218)
$Edit1 = GUICtrlCreateEdit("", 8, 48, 377, 233)
GUICtrlSetData(-1, "Edit1")
$Label1 = GUICtrlCreateLabel("Unten in das Edit-feld kilcken und 'a' drücken", 8, 16, 218, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###;DLL laden wie im Beispiel zu _IsPressed
[/autoit] [autoit][/autoit] [autoit]
Global $dll = DllOpen("user32.dll")While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
If _IsPressed("41", $dll) = 1 Then ; 41 ist a - siehe Hilfe von _IsPressed
Send("b") ; erklärt sich wohl von selbst
EndIf
WEndSo, jetzt kommt ein ABER ...
wie du testen kannst sendet ein a auch ein b - aber auch das a, diesen Tastendruck fangen wir nicht ab. Wei das ginge weiss ich auch noch nichtBLinz
-
Du bist mir eine Nase, das ist doch die Frage die du im Juni schon mal gestellt hast: [ gelöst ] Problem mit HotKeySet() und Send()