Code:
Global Const $STD_OUTPUT_HANDLE = -11
Global Const $STD_INPUT_HANDLE = -10
Func AllocConsole ()
return DllCall ("Kernel32.dll", "int", "AllocConsole")
EndFunc
Func setTitle($title)
DllCall("Kernel32.dll","none","SetConsoleTitleA","str",$title)
EndFunc
Func std_output_handle()
$r = DllCall("Kernel32.dll","HANDLE","GetStdHandle","dword",$STD_OUTPUT_HANDLE)
Return $r[0]
EndFunc
Func std_input_handle()
$r = DllCall("Kernel32.dll","HANDLE","GetStdHandle","dword",$STD_INPUT_HANDLE)
Return $r[0]
EndFunc
Func setModeInput()
DllCall("Kernel32.dll","BOOL","HANDLE",$inHandle,0x0002)
EndFunc
Func _ConsoleWriteln($text)
$text = $text & @CRLF
DllCall("Kernel32.dll","BOOL","WriteConsole","HANDLE",$outHandle,"str",$text,"DWORD",StringLen($text),"dword*", 0, "ptr", 0)
EndFunc
Func _ConsoleRead()
$out = DllStructCreate("char[255]")
setModeInput()
DllCall("Kernel32.dll","BOOL","ReadConsole","HANDLE",$inHandle,"struct*",$out,"DWORD",255,"dword*", 0, "ptr", 0)
$data = DllStructGetData($out,1)
Return $data
EndFunc
AllocConsole() ;Create console
setTitle("Test console application")
$outHandle = std_output_handle()
$inHandle = std_input_handle()
_ConsoleWriteln("What's your name?")
$input = _ConsoleRead()
MsgBox(0,"you said",$input)
While 1
WEnd