2010-10-12 3 views
0

Привет всем, я пытаюсь отправить какой-то текст в консольный ящик (dos box) из моей программы vb, но я не могу заставить его работать.VB.net sendmessge to console box

Вот мой текущий код:

Dim blah As Long 
Private Const WM_GETTEXT As Integer = &HD 
Declare Auto Function SendMessage Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal msg As Integer, ByVal wParam As IntPtr, ByVal lParam As String) As IntPtr 

blah = FindWindow1(vbNullString, "Form1") 
blah = FindWindowEx(blah, vbNullString, "ConsoleWindowClass", vbNullString) 
Debug.Print(blah) 
SendMessage(blah, WM_SETTEXT, 200, "A") 

Хотя это делает работу, он ставит только для заголовка, а не в консоли.

Любая помощь будет замечательной! : О)

Дэвид

ответ

1

Я не пробовал, но я думаю, что вы можете захотеть взглянуть на AttachConsole, чтобы прикрепить процесс к консоли процесса командной строки. Тогда вы должны будете использовать Console.WriteLine и подобные методы, которые я бы предположил.

Вы можете найти образец (в C#, но его нужно легко преобразовать в VB с использованием одного из онлайновых преобразователей) на странице PInvoke.

+0

Если он не хочет взаимодействовать с программой в консоли. – SLaks

+0

Я этого не знал, спасибо. –