2010-10-12 26 views
0

Salut à tous, j'essaie d'envoyer du texte à une boîte de console (boîte DOS) de mon programme vb mais je n'arrive pas à le faire fonctionner.VB.net sendmessge to console box

Voici mon code actuel:

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") 

Bien que cela fonctionne, il met seulement A pour la barre de titre et non dans la console.

Toute aide serait géniale! : O)

David

Répondre

1

Je n'ai pas essayé mais je pense que vous voudrez peut-être regarder AttachConsole pour attacher votre processus à la console du processus de ligne de commande. Ensuite, vous devriez être en mesure d'utiliser le Console.WriteLine et des méthodes similaires, je suppose.

Vous pouvez trouver un exemple (en C#, mais devrait être facile à convertir en VB en utilisant l'un des convertisseurs en ligne) sur la page PInvoke.

+0

À moins qu'il ne souhaite interagir avec le programme dans la console. – SLaks

+0

Je ne le savais pas, merci. –