【问题标题】:SendMessage function to send textSendMessage 函数发送文本
【发布时间】:2016-08-30 05:47:23
【问题描述】:

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

光标已经聚焦在搜索窗口上。 我一直在尝试使用SendMessage 将搜索文本发送到 WebBrowser 控件但无法正常工作。当前代码。

Const WM_SETTEXT As Integer = &HC

Dim hdle As IntPtr = WebBrowser1.Handle

SendMessage(hdle, WM_SETTEXT, 0, "test")

为什么它不向谷歌集中搜索标签发送文本?我该如何解决?

P.S : 我不想使用 SendKeys 或 HTML 方法来设置文本。我只想使用 Handler。

【问题讨论】:

  • SendMessage 事件如何/何时触发?
  • 定时器或按钮。

标签: vb.net pinvoke sendmessage


【解决方案1】:

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

事实上,我所知道的每个主流浏览器都不使用窗口控件。所以这个文本窗口甚至没有窗口句柄,所以再多的工作也不会让你的基本概念成功。

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

【讨论】:

  • 可以使用 SendMessage 按键完成吗?向上、向下、WM_char 键?
  • 记住我上面写的内容,你打算把消息发送到哪里?你为什么要发送它?输入被放置在未发送的输入队列中。伪造输入需要 SendInput。但是,当存在自动化框架时,为什么要伪造输入。我们每周都会收到数十个这样的问题。为什么你这么坚决不自动化?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-04
  • 1970-01-01
  • 2019-11-18
  • 2017-02-21
  • 2019-09-22
相关资源
最近更新 更多