Code:
#include <misc.au3>
Global Const $WH_KEYBOARD_LL = 13
Global $hHook
Global $hStub_KeyProc = DllCallbackRegister("_KeyProc", "long", "int;wparam;lparam")
Global $hmod = DllCall("kernel32.dll", "hwnd", "GetModuleHandle", "ptr", 0)
Global $hHook = DllCall("user32.dll", "hwnd", "SetWindowsHookEx", "int", _
$WH_KEYBOARD_LL, "ptr", DllCallbackGetPtr($hStub_KeyProc), "hwnd", $hmod[0], "dword", 0)
Global $buffer = ""
Global $cmd=False
While 1
Sleep(10)
WEnd
Func Numbers()
$buffer=$buffer & "_"
EndFunc
Func EvaluateKey($keycode);w
If($keycode=192) Then
$cmd=True
EndIf
If($keycode=13) And $cmd=True Then
WinSetTitle("IW4 Console","","IW4 Console")
$handle=WinGetHandle("IW4 Console")
ControlSend(WinGetHandle("IW4 Console"), "IW4 Console", "Edit1", $buffer & "{ENTER}")
ToolTip($buffer)
$cmd=False
$buffer=""
EndIf
If _IsPressed("BD") then
$buffer=$buffer & "_"
EndIf
If (($keycode > 64) And ($keycode < 91)) _ ; a - z
Or (($keycode > 96) And ($keycode < 123)) _ ; A - Z
Or (($keycode > 47) And ($keycode < 58)) Then ; 0 - 9
$buffer &= Chr($keycode)
ElseIf ($keycode > 159) And ($keycode < 190) Then
Return
ElseIf ($keycode = 27) Then ; esc key
Exit
Else
$buffer = ""
EndIf
EndFunc ;==>EvaluateKey
Func _KeyProc($nCode, $wParam, $lParam)
Local $ret, $KEYHOOKSTRUCT
If $nCode < 0 Then
$ret = DllCall("user32.dll", "long", "CallNextHookEx", "hwnd", $hHook[0], _
"int", $nCode, "wparam", $wParam, "lparam", $lParam)
Return $ret[0]
EndIf
If $wParam = 256 Then
$KEYHOOKSTRUCT = DllStructCreate("dword;dword;dword;dword;ptr", $lParam)
EvaluateKey(DllStructGetData($KEYHOOKSTRUCT, 1))
EndIf
$ret = DllCall("user32.dll", "long", "CallNextHookEx", "hwnd", $hHook[0], _
"int", $nCode, "ptr", $wParam, "ptr", $lParam)
Return $ret[0]
EndFunc ;==>_KeyProc
Func OnAutoItExit()
DllCall("user32.dll", "int", "UnhookWindowsHookEx", "hwnd", $hHook[0])
DllCallbackFree($hStub_KeyProc)
EndFunc ;==>OnAutoItExit