оппп..извиняюсь..попутал с обыкновенным Basicом..
в VB.Net есть класс Console и там просто работать с консолью.
вобычном VB можно вывести использую API функции по работе с консолью
вот не помню откуда взял пример, можнт поможет
Цитата:
Как подключить консольное окно к приложению Visual Basic
Эта статья демонстрирует подключение консольного окна к приложению Visual Basic, из которого можно записывать в это консольное окно и запускать другие приложения в этом консольном окне.
Пример по шагам
Воспользуйтесь Блокнотом (Notepad) для создания следующего bat-файла:
DIR /W
и сохраните его как C:\TEST.BAT
В Visual Basic создайте новый проект с формой и модулем.
Занесите в модуль следующие объявления API функций:
Option Explicit
Declare Function AllocConsole Lib "kernel32" () As Long
Declare Function FreeConsole Lib "kernel32" () As Long
Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) _
As Long
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
Public Const STD_OUTPUT_HANDLE = -11&
Добавьте на форму кнопку и введите следующий код:
Dim hConsole As Long
Private Sub Command1_Click()
Dim Result As Long, sOut As String, cWritten As Long
sOut = "Hi There" & vbCrLf
Result = WriteConsole(hConsole, ByVal sOut, Len(sOut), cWritten, _
ByVal 0&)
Shell "C:\TEST.BAT"
End Sub
Private Sub Form_Load()
If AllocConsole() Then
hConsole = GetStdHandle(STD_OUTPUT_HANDLE)
If hConsole = 0 Then MsgBox "Couldn't allocate STDOUT"
Else
MsgBox "Couldn't allocate console"
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
CloseHandle hConsole
FreeConsole
End Sub
Запустите приложение. Появится пустое окно консоли.
Кликните по кнопке. В консоле должны появиться текст в sOut и вывод из bat-файла.
Закройте форму. Окно консоли должно завершиться.
|