Moin,
Erstmal das Böse
Ich komm eigl aus dem AHK Bereich und suche nach alternativen.
In der regel nutz ich solch sprechen für kleine helferlein die mir den Alltag erleichtern. Doch möcht ich auch Keybinder machen.
Das Problem:
Hat man ein Hotkey mit "HotKeySet" deklariert und auch die Func dazu gemacht, wird der Hotkey ja auch beim Schreiben gesendet, genau das soll verhindert werden.
Nun die frage
AHK hatte ein Suspend In AutoIt gibt es ja die Pause,
Wie kann ich es nun am besten lösen das dass Script in die Pause geht wenn man selbst "t" drückt und erst dann wieder aufwacht wenn man "{enter}" oder {ESC} drückt
Ach falls es von relevanz ist, ich nutze ControlSend
Und hier das was ich bisher habe (ohne den lösungsversuch).
Das was ich bis Dato habe ist mithilfe des Wiki(was grottig ist) Die Hilfe(Super!) und Google
#cs ----------------------------------------------------------------------------
[/autoit][autoit][/autoit][autoit]AutoIt Version: 3.3.8.1
Author: Dux Aquila
Script Function:
Keybinder für GTA SA:MP
#ce ----------------------------------------------------------------------------
[/autoit][autoit][/autoit][autoit]#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Name = IniRead(@ScriptDir & "\Config.ini", "User", "Name", "Dein Name")
$Number = IniRead(@ScriptDir & "\Config.ini", "User", "Number", "Deine Telefonnummer")
$Password = IniRead(@ScriptDir & "\Config.ini", "User", "Password", "Passwort")
$EnterExitStatus =""
$CarLock =""
HotKeySet ( "p", "_AB")
HotKeySet ( "1", "_CarLock")
HotKeySet ( "2", "_EnterExit")
$Form1 = GUICreate("Duxis First AutoIt3 Keybinder", 621, 445, 192, 124)
$Background1 = GUICtrlCreatePic("C:\Users\Dux Aquila\Desktop\AutoIt3\Scripte\bg-01.jpg", 0, 0, 620, 444, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUICtrlSetState(-1, $GUI_DISABLE)
$Label1 = GUICtrlCreateLabel("Dein Name", 32, 40, 57, 17)
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$InputName = GUICtrlCreateInput($Name, 32, 64, 121, 21)
GUICtrlSetCursor (-1, 5)
$Label2 = GUICtrlCreateLabel("Deine Telefonnummer", 32, 96, 108, 17)
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$InputTelnummer = GUICtrlCreateInput($Number, 32, 120, 121, 21)
$Label3 = GUICtrlCreateLabel("Dein Passwort", 32, 160, 72, 17)
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$InputPassword = GUICtrlCreateInput($Password, 32, 184, 121, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
$ButtonSave = GUICtrlCreateButton("Speichern", 520, 24, 75, 25)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $ButtonSave
IniWrite(@ScriptDir & "\Config.ini", "User", "Name", GuiCtrlRead($InputName))
IniWrite(@ScriptDir & "\Config.ini", "User", "Number", GuiCtrlRead($InputTelnummer))
IniWrite(@ScriptDir & "\Config.ini", "User", "Password", GuiCtrlRead($InputPassword))
EndSwitch
WEnd
Func _AB()
ControlSend("","","","t/p Guten Tag {ENTER}")
Sleep(300)
ControlSend("","","","t Sie sind mit dem Anschluss von " &$Name & " Verbunden {ENTER}")
EndFunc
Func _CarLock()
if $CarLock = 1 Then
$CarLock = "0"
ControlSend("","","","t/Carlock {ENTER}")
Sleep(300)
ControlSend("","","","t/me Macht sein Auto auf {ENTER}")
Else
$CarLock = "1"
ControlSend("","","","t/Carlock {ENTER}")
Sleep(300)
ControlSend("","","","t/me Macht sein Auto zu {ENTER}")
EndIf
EndFunc
Func _EnterExit()
If $EnterExitStatus = 1 Then
$EnterExitStatus = "0"
ControlSend("","","","t/Exit {ENTER}")
Sleep(300)
ControlSend("","","","t/me Verlässt das Gebäude {ENTER}")
Else
$EnterExitStatus = "1"
ControlSend("","","","t/Enter {ENTER}")
Sleep(300)
ControlSend("","","","t/me Betritt das Gebäude {ENTER}")
EndIf
EndFunc