标题:为什么不能传送回车键?
只看楼主
m200
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-3-6
 问题点数:0 回复次数:5 
为什么不能传送回车键?
Private Sub Form_Load()
WebBrowser1.Navigate "http://www.
End Sub
Private Sub WebBrowser1_DownloadComplete()
Dim vDoc, vTag
Dim i As Integer
Set vDoc = WebBrowser1.Document
For i = 0 To vDoc.All.length - 1 '检测所有标签
   If UCase(vDoc.All(i).tagName) = "INPUT" Then '找到input标签
     Set vTag = vDoc.All(i)
     If vTag.Type = "text" Then '检测类型
        Select Case vTag.Name
           Case "user" '填写用户名的文本框的值
              vTag.Value = "aaa"
        End Select
     End If

    If vTag.Type = "password" Then        '检测密码框类型
       Select Case vTag.Name
           Case "pass"                  '密码框的值
            vTag.Value = "12"
       End Select
    End If

End If
Next i
[bo]SendKeys "{enter}"[/bo]
End Sub
搜索更多相关主题的帖子: 回车键 vTag vDoc Sub 
2008-03-06 17:25
wyfandy
Rank: 1
来 自:深圳
等 级:新手上路
帖 子:376
专家分:0
注 册:2006-12-11
得分:0 
这样不行,因为你的焦点不在WebBrowser1控件中的"提交"按钮中.

不论什么事,只要认准了一个目标,然后朝之不懈地努力,就一定实现。编程爱好者QQ群:21318556
2008-03-07 14:19
m200
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-3-6
得分:0 
[bo]以下是引用 [un]wyfandy[/un] 在 2008-3-7 14:19 的发言:[/bo]

这样不行,因为你的焦点不在WebBrowser1控件中的"提交"按钮中.

应怎样改.我在它的源文件中找不到提交标签.

index.rar (1.38 KB)
2008-03-07 15:46
卡卡希比
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:2283
专家分:189
注 册:2007-7-1
得分:0 
用keybd_event (13,0,0,0)

PLEASE FLUSH AFTER USE!
2008-03-08 00:07
e3bnsd
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2007-3-29
得分:0 
学习
2012-12-07 14:54
e3bnsd
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2007-3-29
得分:0 
先建一个类模块
Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Public Const KEYEVENTF_EXTENDEDKEY = &H1
Public Const KEYEVENTF_KEYUP = &H2

然后,这样,我就实验成功了
 
'每隔一秒中模拟一次鼠标事件
Private Sub Timer1_Timer()
If Option_Tag = 3 Then
    '两次连续的鼠标左键单击事件 构成一次鼠标双击事件
    mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
    mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
    Call keybd_event(13, 0, 0, 0)
    Call keybd_event(13, 0, KEYEVENTF_KEYUP, 0)
  ElseIf Option_Tag = 2 Then
    '模拟鼠标右键单击事件
    mouse_event MOUSEEVENTF_RIGHTDOWN Or MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0
ElseIf Option_Tag = 4 Then
     DoEvents
     Call keybd_event(13, 0, 0, 0)
     Call keybd_event(13, 0, KEYEVENTF_KEYUP, 0)
   Else
   '调用了mouse_event函数,其参数的设置见前面说明
    '如果同时要模拟两个鼠标事件,可以用 Or 将两个参数连接
    '这里是 鼠标左键按下 和松开两个事件的组合即一次单击
     mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
End If
End Sub
2012-12-13 22:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-202260-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.243565 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved