Что нового

Как написать консольное приложение Stdin/Stdout

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Кстати за вот это:

Код:
If Not $CmdLine[0] Then
    MsgBox(16, 'Error', 'Error')
Else
    MsgBox(64, 'Info', $CmdLine[1])
EndIf


Спасибо,очень даже пригодилась!

Только как организовать чтоб в консоле можно было писать самому а не отправлять текст командой ConsoleWrite() ?

Получилось так:
Код:
If $CmdLine[0] Then	
    ConsoleWrite(ANSIToOEM($CmdLine[1]) & @CRLF)
	; Функция на выполнение
EndIf

$sRead = ""

While 1
    Sleep(10)
    
    $sRead &= ConsoleRead()
    If $sRead Then
        ; Тут код который выполняет определённую
        ; функцию, смотря что будет в консоле
        ; это не нужно писать...
        $sRead = ""
    EndIf
    
WEnd

Func ANSIToOEM($String)
	Local $sBuffer = DllStructCreate("char[" & StringLen($String) + 1 & "]")
	Local $aRet = DllCall("User32.dll", "int", "CharToOem", "str", $String, "ptr", DllStructGetPtr($sBuffer))
	If Not IsArray($aRet) Then Return SetError(1, 0, '') 
	If $aRet[0] = 0 Then Return SetError(2, $aRet[0], '')
	Return DllStructGetData($sBuffer, 1)
EndFunc


Но когда скомпилирую консольным приложением то писать туда нельзя,а в cmd.exe можно почему так,вроде делаешь консольное а таких свойств как в cmd нету
 

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Сколько не пробывал, всё равно не получается писать в окне своего консольного приложения,почему?
 
Верх