WebBrowser中显示的HTML文件中有一个<input id=XXX>.HTML显示出来后,用户可以用鼠标点击那个<input>,
或对其内容进行修改等,这肯定会触发该<input>的某些事件,如果是做网页的话就很好办,写个VBScript就可以
了.而我希望能在WebBrowser所在的VB程序中接收到这些事件,然后在这些事件中用VB程序响应.不知这样可
不可能
Private Sub WB_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
    Dim i, j
    Dim xo, yo
    For i = 0 To WB.Document.All.length - 1
        If UCase(WB.Document.All(i).tagName) = "INPUT" Then
            Set xo = WB.Document.All(i)
            If LCase(xo.Type) = "text" Then
                xo.Value = "OKOK"
            End If
        End If
        
        If WB.Document.All(i).tagName = "TEXTAREA" Then
            Set xo = WB.Document.All(i)
            xo.Value = "Textarea"
        End If
    Next i
End SubPrivate Sub Command5_Click()
    Dim vDoc, vTag
    Dim i As Integer
      
    Set vDoc = WB.Document
    
    For i = 0 To vDoc.All.length - 1
        If UCase(vDoc.All(i).tagName) = "INPUT" Then
            Set vTag = vDoc.All(i)
            If LCase(vTag.Type) = "submit" Then
                Debug.Print "sub"
                vTag.Select
                vTag.Click
                Exit Sub
            End If
        End If
    Next i
End SubPrivate Sub Command1_Click()
    WB.Navigate "www.yahoo.com.cn"
End SubWB是Webbrowser控件,点击Command1浏览 Command5点击按钮。首先你需要在
References定义中加入Microsoft HTML Object Library 

解决方案 »

  1.   

    怎么编程把用户名,密码提交到网页上的登录页?
    首先在程序中加入Webbrowser控件并加入引用 Microsoft HTML Object Library。
    假设你的HTML页面表单代码如下:
    <form method="POST" action="http://chen/dll/chat/chatmain.exe/RegUser">
      <p>请填写下面表单注册(*项为必添项)</p>
      <p>*姓名<input type="text" name="Name" size="20"></p>
      <p>*昵称<input type="text" name="NickName" size="20"></p>
      <p>电子邮件<input type="text" name="EMail" size="20"></p>
      <p>*密码<input type="text" name="Password" size="20"></p>
      <p><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
    </form>
    注意其中元素的type、Name、value属性。然后VB中的代码如下:
    Private Sub Command1_Click()
        WebBrowser1.Navigate "http://chen/chat/newuser.htm"
    End SubPrivate Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
        Dim vDoc, vTag
        Dim i As Integer
          
        Set vDoc = WebBrowser1.Document
        List1.Clear
        For i = 0 To vDoc.All.length - 1
            If UCase(vDoc.All(i).tagName) = "INPUT" Then
                Set vTag = vDoc.All(i)
                If vTag.Type = "text" Or vTag.Type = "password" Then
                    List1.AddItem vTag.Name
                    Select Case vTag.Name
                        Case "Name"
                            vTag.Value = "IMGod"
                        Case "NickName"
                            vTag.Value = "IMGod"
                        Case "Password"
                            vTag.Value = "IMGodpass"
                        Case "EMail"
                            vTag.Value = "[email protected]"
                    End Select
                ElseIf vTag.Type = "submit" Then
                    vTag.Click
                End If
            End If
        Next i
    End Sub
    点击Command1就可以自动填表并提交了。