Vb.net SendMessage函数用于发送文本

Vb.net SendMessage函数用于发送文本,vb.net,pinvoke,sendmessage,Vb.net,Pinvoke,Sendmessage,我有一个表单,在表单上我有一个web浏览器,目前在上面打开了google.com 光标已聚焦在搜索窗口上。 我一直在尝试使用SendMessage将搜索文本发送到WebBrowser控件,但不起作用。当前代码 Const WM_SETTEXT As Integer = &HC Dim hdle As IntPtr = WebBrowser1.Handle SendMessage(hdle, WM_SETTEXT, 0, "test") 为什么它不向谷歌搜索标签发送文本?我如何解决这

我有一个表单,在表单上我有一个web浏览器,目前在上面打开了google.com

光标已聚焦在搜索窗口上。 我一直在尝试使用
SendMessage
将搜索文本发送到WebBrowser控件,但不起作用。当前代码

Const WM_SETTEXT As Integer = &HC

Dim hdle As IntPtr = WebBrowser1.Handle

SendMessage(hdle, WM_SETTEXT, 0, "test")
为什么它不向谷歌搜索标签发送文本?我如何解决这个问题


注:我不想使用SendKeys或HTML方法来设置文本。我只想使用处理程序。

Web浏览器控件的窗口句柄不是文本编辑控件的窗口句柄。因此,您没有向您想要的控件发送消息

事实上,据我所知,所有主流浏览器都不使用窗口控件。所以文本窗口甚至没有一个窗口句柄,所以没有多少工作会使您的基本概念成功


使用UI自动化可以最好地实现您要做的事情

SendMessage事件如何/何时触发?计时器或按钮。是否可以使用SendMessage按键来完成?上键,下键,WM_char?记住我上面写的,你要把信息发送到哪里?你为什么要寄它?输入被放置在未发送的输入队列中。伪造输入需要SendInput。但是,当存在自动化框架时,为什么要伪造输入呢。我们每周都会收到几十个这样的问题。为什么你如此坚决地不自动化?