1

我需要知道如何向任何窗口的文本框发送消息。

如果关注 google chrome url 文本框,那么我将“自动粘贴”消息,或者如果我关注 Word 文档字符串、记事本或任何东西!

我通过设置iHwndfindwindowfindwindowex获得了发送的代码,但我需要在任何时候设置我想更改最终程序,这就是为什么我需要一个“基于焦点”的自动程序。

这是我到目前为止...

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Dim iHwnd As IntPtr = FindWindow("notepad", vbNullString) 
    Dim iHwndChild As IntPtr = FindWindowEx(iHwnd, IntPtr.Zero, "Edit", vbNullString) 
    SendMessage(iHwndChild, WM_SETTEXT, 0, "Hello World!") 
End Sub

对不起,我的英语不好!

4

1 回答 1

1

SendMessage总是需要一个特定的窗口句柄,或广播到所有顶级窗口。要继续使用当前代码,您可以首先尝试使用GetActiveWindow或类似函数检索活动窗口的句柄。

或者,您可以尝试使用SendKeys类来发送您的文本。SendKeys始终以当前活动控件为目标(就像用户直接在键盘上键入一样),因此您无需担心查找窗口句柄或标题。

于 2014-11-10T23:05:05.437 回答