Global $aHotKeys_Data[1][3]
_HotKeySet("{F2}", "_MyFunc", "Some Params for MyFunc")
_HotKeySet("{F3}", "_MyFunc", "Some other Params for MyFunc")
_HotKeySet("^+e", "_Exit", "Now we exit the script")
While 1
Sleep(100)
WEnd
Func _MyFunc($vParams)
MsgBox(64, 'Title', $vParams)
EndFunc
Func _Exit($vParams)
Exit MsgBox(64, 'Title', $vParams)
EndFunc
Func _HotKeySet($sKey, $sFunc="", $vParams="")
If @NumParams = 1 Then
Local $aTmp[1][3]
For $i = 1 To $aHotKeys_Data[0][0]
If $aHotKeys_Data[$i][0] <> $sKey Then
$aTmp[0][0] += 1
ReDim $aTmp[$aTmp[0][0]+1][3]
$aTmp[$aTmp[0][0]][0] = $aHotKeys_Data[$i][0]
$aTmp[$aTmp[0][0]][1] = $aHotKeys_Data[$i][1]
$aTmp[$aTmp[0][0]][2] = $aHotKeys_Data[$i][2]
EndIf
Next
$aHotKeys_Data = $aTmp
Return 1
EndIf
$aHotKeys_Data[0][0] += 1
ReDim $aHotKeys_Data[$aHotKeys_Data[0][0]+1][3]
$aHotKeys_Data[$aHotKeys_Data[0][0]][0] = $sKey
$aHotKeys_Data[$aHotKeys_Data[0][0]][1] = $sFunc
$aHotKeys_Data[$aHotKeys_Data[0][0]][2] = $vParams
Return HotKeySet($sKey, "_HotKeySet_Handler")
EndFunc
Func _HotKeySet_Handler()
For $i = 1 To $aHotKeys_Data[0][0]
If @HotKeyPressed = $aHotKeys_Data[$i][0] Then
Return Call($aHotKeys_Data[$i][1], $aHotKeys_Data[$i][2])
EndIf
Next
EndFunc