#include-once
Global $_MW_Win_active[1][2] = [["hWnd","Ctrl"]]
; Diese 4 Funktionen musst du in dein Skript stecken
Func _MultiWrite($_MW_iParam)
    IF $_MW_iParam > 1 Or $_MW_iParam < 0 Then Return SetError(1,1,0)
    Switch $_MW_iParam
        Case 1
            HotKeySet("{PAUSE}","_MW_GetActiveWin")
            HotKeySet("+{PAUSE}","_MW_ResetActiveWin")
            HotKeySet("^{TAB}","_MW_Exit")

            For $_MW_i = 0 to 9 ; 0-9
                Execute('HotKeySet("{'&$_MW_i&'}","_MW_Send")') ; 0-9
            Next
            For $_MW_i = 65 to 90 ; a-z
                Execute('HotKeySet("{'&Chr($_MW_i)&'}","_MW_Send")') ; A-Z
                Execute('HotKeySet("{'&Chr($_MW_i+32)&'}","_MW_Send")') ; a-z
            Next
            HotKeySet("^{a}","_MW_Send")
            HotKeySet("{.}","_MW_Send")
            HotKeySet("{,}","_MW_Send")
            HotKeySet("{-}","_MW_Send")
            Hotkeyset("{?}","_MW_Send")
            HotKeySet("{!}","_MW_Send")
            HotKeySet("{BACKSPACE}","_MW_Send")
            HotKeySet("{SPACE}","_MW_Send")
            Hotkeyset("{Enter}","_MW_Send")
			Return 1
        Case 0
            HotKeySet("{PAUSE}")
            HotKeySet("+{PAUSE}")
            HotKeySet("^{TAB}")

            For $_MW_i = 0 to 9 ; 0-9
                Execute('HotKeySet("{'&$_MW_i&'}")') ; 0-9
            Next
            For $_MW_i = 65 to 90 ; a-z
                Execute('HotKeySet("{'&Chr($_MW_i)&'}")') ; A-Z
                Execute('HotKeySet("{'&Chr($_MW_i+32)&'}}")') ; a-z
            Next
            HotKeySet("^{a}")
            HotKeySet("{.}")
            HotKeySet("{,}")
            HotKeySet("{-}")
            Hotkeyset("{?}")
            HotKeySet("{!}")
            HotKeySet("{BACKSPACE}")
            HotKeySet("{SPACE}")
            Hotkeyset("{Enter}")
            Return 1
    EndSwitch
EndFunc
Func _MW_Send()
    ControlSend(WinGetHandle(""),"",ControlGetFocus(WinGetHandle("")),@HotKeyPressed)
    For $_MW_i = 1 to UBound($_MW_Win_active)-1
        ControlSend($_MW_Win_active[$_MW_i][0],"",$_MW_Win_active[$_MW_i][1],@HotKeyPressed)
    Next
EndFunc
Func _MW_GetActiveWin()
	ReDim $_MW_Win_active[UBound($_MW_Win_active)+1][2]
    $_MW_Win_active[UBound($_MW_Win_active)-1][0] = WinGetHandle("")
	$_MW_Win_active[UBound($_MW_Win_active)-1][1] = ControlGetFocus("")
    ConsoleWrite(WinGetTitle("")&" und "&ControlGetFocus("")&" erfasst"&@CRLF&"Du hast bereits "&UBound($_MW_Win_active)-1&" Fenster in die Liste aufgenommen"&@CRLF)
EndFunc
Func _MW_ResetActiveWin()
	Global $_MW_Win_active[1][2] = [["hWnd","Ctrl"]]
    ConsoleWrite("Fenster und Control zurückgesetzt"&@CRLF)
EndFunc

Func _MW_Exit()
    _MultiWrite(0)
EndFunc
#EndRegion
