请教高手sendkeys的一些问题,奉送50分

hustwjz 2000-04-20 11:21:00
用sendkeys 可以向某一个当前程序发送一些字符串或者一些命令键,但为什么我向网页的一个输入框中送字符却失败了?
我的程序:
一个WebBrowsers控件用于浏览网页
一个时钟控件用于每隔5分钟向网页中发送一些文字
Private Sub Timer1_Timer()
Static i
On Erro GoTo handleError
AppActivate "聊天伴侣"'激活本程序使之成为当前窗口
If i = True Then
i = False
SendKeys "wo shi hao ren " & "{Enter}"
Else
i = True
SendKeys "我是好人" & "{Enter}"
End If
Exit Sub
handleError:
MsgBox "出错"
Unload Me
End Sub
...全文
271 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tommy Chang 2000-04-27
  • 打赏
  • 举报
回复
这个问题其实可以用webbrowser.document操纵里面htmlelement来实现,因为可以得到全部edit框,对其中任一个直接赋值或先设置焦点再sendkeys这两种办法都可以
记住,是操纵里面的东西
msdn上web shop下面reusing browser tech里面有几个这种例子
dongdong 2000-04-20
  • 打赏
  • 举报
回复
在使用SENDKEYS时,必须首先让要获得KEYS的控件获得焦点,例如:如果在文本框敲下回车键时,希望焦点转移,则需要在文本框的KEYPRESS事件中写:sendkeys vbtabs。所以你如果要想实现你所说的功能,必须首先要让文本框获得焦点,这样才可能实现。
ring 2000-04-20
  • 打赏
  • 举报
回复
想获得Edit的焦点你必须向网页发送若干个Tab键
每次都这样子
dongdong 2000-04-20
  • 打赏
  • 举报
回复
是这样的,如果你要传达KEYS的控件不是你程序中本身的控件,那么,你就必须使用诸如SENDMESSAGE之类的API函数了,相对有些困难,我还没有具体尝试,我会继续关注。但可以启发你一下,有些获取文本框口令“****”的程序,就是利用这个方法,他首先枚举活动窗体,然后枚举控件的HWND,来发送或获取相关的信息。祝你好运。
hustwjz 2000-04-20
  • 打赏
  • 举报
回复
在一般的程序中我成功的实现了,但是向网页的输入框输入字符后输入焦点转移,而且输入框中不会出现任何字符,这才是我想解决的主要问题。各位高手请自己试验一下就知道问题的严重性。
sythree 2000-04-20
  • 打赏
  • 举报
回复
还不如用WINSOCK来实现这个功能

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧