Привет, всем.
Знаю, что вопрос глупый, но как такое создается? В VC++ есть в меню проектов, а на VB я так и не нашла. У меня VB5.
Заранее спасибо.
Option Explicit
Private Declare Function AllocConsole Lib "kernel32" () As Long
Private Declare Function FreeConsole Lib "kernel32" () As Long
Private Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long
Private Declare Function ReadConsole Lib "kernel32" Alias "ReadConsoleA" (ByVal hConsoleInput As Long, ByVal lpBuffer As String, ByVal nNumberOfCharsToRead As Long, lpNumberOfCharsRead As Long, lpReserved As Any) As Long
Private Declare Function SetConsoleTextAttribute Lib "kernel32" (ByVal hConsoleOutput As Long, ByVal wAttributes As Long) As Long
Private Declare Function SetConsoleTitle Lib "kernel32" Alias "SetConsoleTitleA" (ByVal lpConsoleTitle As String) As Long
Private Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" (ByVal hConsoleOutput As Long, ByVal lpBuffer As Any, ByVal nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, lpReserved As Any) As Long
Private Const STD_INPUT_HANDLE = -10&
Private Const STD_OUTPUT_HANDLE = -11&
Private Const STD_ERROR_HANDLE = -12&
Private Const FOREGROUND_RED = &H4
Private Const FOREGROUND_GREEN = &H2
Private Const FOREGROUND_BLUE = &H1
Private Const FOREGROUND_INTENSITY = &H8
Private Const BACKGROUND_RED = &H40
Private Const BACKGROUND_GREEN = &H20
Private Const BACKGROUND_BLUE = &H10
Private Const BACKGROUND_INTENSITY = &H80
Private Const ENABLE_LINE_INPUT = &H2
Private Const ENABLE_ECHO_INPUT = &H4
Private Const ENABLE_MOUSE_INPUT = &H10
Private Const ENABLE_PROCESSED_INPUT = &H1
Private Const ENABLE_WINDOW_INPUT = &H8
Private Const ENABLE_PROCESSED_OUTPUT = &H1
Private Const ENABLE_WRAP_AT_EOL_OUTPUT = &H2
Private hCmdIn As Long
Private hCmdOut As Long
Private hCmdError As Long
Sub Main()
Dim CmdIn As String * 256
Dim CmdOUT As String
'Open New Console Window
AllocConsole
'Set te Console Title
SetConsoleTitle "My Cmd Console"
'Get The Console Handler
hCmdIn = GetStdHandle(STD_INPUT_HANDLE)
hCmdOut = GetStdHandle(STD_OUTPUT_HANDLE)
hCmdError = GetStdHandle(STD_ERROR_HANDLE)
'Set The Console Color Attribute
SetConsoleTextAttribute hCmdOut, FOREGROUND_GREEN Or FOREGROUND_INTENSITY
CmdOUT = "Command Line OutPut" & vbCrLf
'Write The Output on CommandLine Console
WriteConsole hCmdOut, CmdOUT, Len(CmdOUT), vbNull, vbNull
CmdOUT = "Keyb Input: "
'Write The Output on CommandLine Console
WriteConsole hCmdOut, CmdOUT, Len(CmdOUT), vbNull, vbNull
'Read The Input on CommandLine Console
Call ReadConsole(hCmdIn, CmdIn, Len(CmdIn), vbNull, vbNull)
CmdOUT = "You Are Type: " & Left$(CmdIn, InStr(CmdIn, Chr$(0)) - 3) & vbCrLf
'Write The Output on CommandLine Console
WriteConsole hCmdOut, CmdOUT, Len(CmdOUT), vbNull, vbNull
'Read The Input on CommandLine Console
Call ReadConsole(hCmdIn, CmdIn, Len(CmdIn), vbNull, vbNull)
'Close Console Window
FreeConsole
End Sub
Cornplay писал(а):Здорово! Но проще всего консольное приложение пишется в Quick Basic![]()
![]()
Сейчас этот форум просматривают: Yandex-бот и гости: 1