###Function###
HotKeySet

###Description###
Setzt einen HotKey, der eine nutzerdefinierte Funktion aufruft.

###Syntax###
HotKeySet ( "key" [, "function"] )


###Parameters###
@@ParamTable@@
key
	Die Taste(n), die als HotKey verwendet werden sollen.<b>Es gilt das selbe Format wie bei <a href="Send.htm">Send()</a>.</b>
function
	[optional] Der Name der Funktion, die bei Drücken des HotKeys aufgerufen werden soll. Wenn du einen HotKey wieder entfernen willst, dann lässt du diesen Parameter einfach leer.
@@End@@

###ReturnValue###
@@ReturnTable@@
Erfolg:	Gibt 1 zurück.
Fehler:	Gibt 0 zurück.
@@End@@


###Remarks###
Es können pro Skript maximal 64 HotKeys gesetzt werden.

Wenn zwei AutoIt-Skripte den gleichen HotKey setzen, dann solltest du die beiden Skripte nicht gleichzeitig ausführen. (Das zweite Skript kann den HotKey nicht registieren, außer wenn das erste ihn freigbit oder sich selbst schließt, bevor das erste Skript ihn zu setzen versucht.)

Ein HotKey unterbricht *normalerweise* die aktive AutopIt-Funktion oder -Befehle und führt die nutzerdefinierte Funktion bis zu deren Ende oder Unterbrechung aus. Ausnahmen:
1)  Wenn die laufende Funktion den Programmablauf blockiert, dann werden die Tastendrücke gespeichert und dann nach Beendigung dieser Funktion abgearbeitet. MsgBox und FileSelectFolder sind z.B. blockierende Funktionen. Teste das Verhalten von Shift + Alt + D im Beispiel.
2)  Wenn das Skript über das TrayIcon pausiert wird, werden alle HotKeys, die in diesem Zusatnd gedrückt werden, ignoriert.

<b>Die folgenden HotKeys können nicht gesetzt werden:</b>

@@StandardTable@@
STRG+Alt+Del	Ist von Windows reserviert
F12	Ist laut der WinAPI auch von Windows reserviert
Enter-Taste auf dem Ziffernblock	Benutze statt dessen {Enter}, was beide Enter-Tasten abdeckt
Win+B,D,E,F,L,M,R,U und Win+Shift+M	Das sind Kern-HotKeys von Windows. Hinweis: Win+B und Win+L sind möglicherweise nur in Windows XP und höher reserviert.
Alt, Ctrl, Shift, Win	Das sind nur Funktionstasten.
Other	Alle globalen HotKeys, die der Nutzer mittels Fremdsoftware gesetzt hat, alle Kombinationen von zwei oder mehr "Basistasten", wie z.B. '{F1}{F2}', und alle Tasten der Form '{LALT}' oder '{ALTDOWN}'.
@@End@@
	
Wenn du einen HotKey setzt, fängt AutoIt jeden Druck dieser Tastenkombination ab, und reicht ihn nicht an das aktive Fenster weiter. Einzige Ausnahme: Die Lock-Tasten (NumLock, CapsLock, and ScrollLock) nehemn immer noch den entsprechenden Status ein! Wenn du den abgefangenen HotKey-Tastendruck dennoch an das aktive Fenster weiterreichen willst, dann musst du den HotKey zunächst löschen, bevor du <i>Send</i> oder <i>ControlSend</i> verwenden kannst:

; jeden Tastendruck abfangen und weiterreichen
<i>HotKeySet("{Esc}", "captureEsc")
Func captureEsc()
	; ... Hier kann etwas gemacht werden
	HotKeySet("{Esc}")
	Send("{Esc}")
	HotKeySet("{Esc}", "captureEsc")
EndFunc
</i>


###Related###
Send, ControlSend


###Example###
@@IncludeExample@@
