0

大家好,我正在尝试从我的 vb 程序向控制台框(dos 框)发送一些文本,但我似乎无法让它工作。

这是我当前的代码:

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

虽然这确实有效,但它只为标题栏而不是在控制台中放置一个A。

任何帮助都会很棒!:o)

大卫

4

1 回答 1

1

我没有尝试过,但我认为您可能想查看AttachConsole以将您的进程附加到命令行进程的控制台。然后你应该能够使用Console.WriteLine我假设的类似方法。

您可以在PInvoke页面上找到一个示例(在 C# 中,但应该很容易使用其中一个在线转换器转换为 VB) 。

于 2010-10-12T15:22:57.737 回答