注册 登录
编程论坛 VB6论坛

为什么不能传送回车键?

m200 发布于 2008-03-06 17:25, 963 次点击
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
5 回复
#2
wyfandy2008-03-07 14:19
这样不行,因为你的焦点不在WebBrowser1控件中的"提交"按钮中.
#3
m2002008-03-07 15:46
[bo]以下是引用 [un]wyfandy[/un] 在 2008-3-7 14:19 的发言:[/bo]

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

应怎样改.我在它的源文件中找不到提交标签.
#4
卡卡希比2008-03-08 00:07
用keybd_event (13,0,0,0)
#5
e3bnsd2012-12-07 14:54
学习
#6
e3bnsd2012-12-13 22:34
先建一个类模块
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
1