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# ですが、オンライン コンバーターの 1 つを使用して VB に簡単に変換できるはずです) を見つけることができます。

于 2010-10-12T15:22:57.737 に答える