Консоль на VB6
1) Создаем новый Проект
2) Удаляем из него форму
3) Добавляем модуль
4) Заносим в него код

Код:

Declare Function AllocConsole Lib "kernel32" () As Long
Declare Function FreeConsole Lib "kernel32" () As Long
Const STD_INPUT_HANDLE = -10&
Const STD_OUTPUT_HANDLE = -11&
Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long
Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" (ByVal hConsoleOutput As Long, lpBuffer As Any, ByVal nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, lpReserved As Any) As Long
Declare Function ReadConsole Lib "kernel32" Alias "ReadConsoleA" (ByVal hConsoleInput As Long, lpBuffer As Any, ByVal nNumberOfCharsToRead As Long, lpNumberOfCharsRead As Long, lpReserved As Any) As Long
Sub Main()
Dim hOutput As Long, hInput As Long
Dim cWritten As Long, cRead As Long
Dim strHello As String, bRead As Byte
'создаём консоль
AllocConsole
'получаем дескрипторы ввода и вывода
hOutput = GetStdHandle(STD_OUTPUT_HANDLE)
hInput = GetStdHandle(STD_INPUT_HANDLE)
'строка, которую напишем в консоли
strHello = "Hello, world!" & vbCrLf & "Press <Enter> to close." & vbCrLf
'пишем
WriteConsole hOutput, ByVal strHello, Len(strHello), cWritten, 0
'эту функцию вызываем для того,
'чтобы консоль не закрылась сразу же
ReadConsole hInput, bRead, 1, cRead, 0
'освобождаем память на выходе
FreeConsole
End Sub
Html Консоль:
-> Microsoft Visual Basic 6.0______________________________ - # X 
А кто говорил, что на VB6 нельзя делать консольное приложение :)__
Press <Enter> to close.___________________________________________
__________________________________________________________________
__________________________________________________________________


Для вывода русского текста, используйте код:

Private Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" (ByVal hConsoleOutput As Long, lpBuffer As Any, ByVal nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, lpReserved As Any) As Long
Private Declare Function ReadConsole Lib "kernel32" Alias "ReadConsoleA" (ByVal hConsoleInput As Long, lpBuffer As Any, ByVal nNumberOfCharsToRead As Long, lpNumberOfCharsRead As Long, lpReserved As Any) As Long
Public Declare Function CharToOem Lib "user32" Alias "CharToOemA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
Private Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long
Private Declare Function AllocConsole Lib "kernel32" () As Long
Private Declare Function FreeConsole Lib "kernel32" () As Long
Private Const STD_INPUT_HANDLE = -10&
Private Const STD_OUTPUT_HANDLE = -11&
Dim hOutput&, hInput&, cWrit&, cRead&, bRead As Byte
Dim strV$, strD$
Sub Main()
'Инициализация
AllocConsole
hOutput = GetStdHandle(STD_OUTPUT_HANDLE)
hInput = GetStdHandle(STD_INPUT_HANDLE)
 
'Вывод
strD = "Привет, мир!" & vbCrLf & "Тыкните Enter для выхода!"
strV = String$(Len(strD), " ")
CharToOem strD, strV
WriteConsole hOutput, ByVal strV, Len(strV), cWrit, 0
 
'Закрытие
ReadConsole hInput, bRead, 1, cRead, 0
FreeConsole
End Sub

 
Категория: Готовые блоки | Добавил: server2009 (23.11.2009) | Автор: Сергей E W
Просмотров: 9898 | Комментарии: 1 | Теги: режим, консоль, VB6, под | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: