网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> VB编程 >> 文章正文
  webbrowser的一些资料            【字体:
webbrowser的一些资料
作者:佚名    文章来源:不详    点击数:    更新时间:2007-8-26    
正在装载数据……

有人总问为什么在使用webbrowser.document.links.length时候会有错误91  
   
  这是因为你在webbrowser   还没有完整的下载页面,就使用的document   对象  
   
  会出现对象未设置错误91  
   
  解决办法就是   Private   Sub   Form_Load()  
   
  WebBrowser1.Navigate2   (url)   你先给个默认的地址   上来就naviage2   就可以了  
   
   
  End   Sub

 

 

 

 


有人问如何使用webbrowser   去navigate2   一个列表里面的所有urllist  
   
  因为他们经常的出现错误是只浏览最后一个list..是因为webbrowers没有足够的时间去挨个去浏览,解决如下:  
   
  Private   Sub   Go_Click()  
    Dim   URL_Index   As   Integer,   CurrentURL   As   String  
      For   URL_Index   =   0   To   List3.ListCount   -   1  
            CurrentURL   =   List3.List(URL_Index)  
            If   CurrentURL   <>   ""   Then  
                    WebBrowser1.Navigate2   CurrentURL,   4  
          While   Not   (WebBrowser1.ReadyState   =   READYSTATE_COMPLETE)  
              DoEvents  
        Wend  
            End   If  
        Next   URL_Index  
        End   Sub  
   
 

 

 

 

 

这是个不用   webbrowser   抓links   的办法:  
   
  =========  
  Private   Sub   cmdGo_Click()  
          Dim   objLink   As   HTMLLinkElement  
          Dim   objMSHTML   As   New   MSHTML.HTMLDocument  
          Dim   objDocument   As   MSHTML.HTMLDocument  
           
           
          lblStatus.Caption   =   "Gettting   document   via   HTTP"  
           
   
          Set   objDocument   =   objMSHTML.createDocumentFromUrl(txtURL.Text,   vbNullString)  
           
          lblStatus.Caption   =   "Getting   and   parsing   HTML   document"  
           
   
          While   objDocument.readyState   <>   "complete"  
                  DoEvents  
          Wend  
           
          lblStatus.Caption   =   "Document   completed"  
           
           
           
          txtSource.Text   =   objDocument.documentElement.outerHTML  
           
          DoEvents  
           
     
          lblTitle.Caption   =   "Title   :   "   &   objDocument.Title  
           
          DoEvents  
           
          lblStatus.Caption   =   "Extracting   links"  
           
     
           
          For   Each   objLink   In   objDocument.links  
                  lstLinks.AddItem   objLink  
                  lblStatus.Caption   =   "Extracted   "   &   objLink  
                  DoEvents  
          Next  
           
          lblStatus.Caption   =   "Done"  
           
          Beep  
           
  End   Sub

 

 

 


这是个给webbrowser   加右键menu   的东西,好象.net   就不用这么麻烦了  
   
  Option   Explicit  
  Dim   hw   As   Long  
   
  Private   Sub   Command1_Click()  
          WebBrowser1.Navigate   Text1.Text  
          WebBrowser1.Visible   =   True  
  End   Sub  
   
  Private   Sub   Form_Load()  
          Dim   h   As   Long,   aClass   As   String,   k   As   Long  
          h   =   GetWindow(hwnd,   GW_CHILD)  
          aClass   =   Space$(128)  
          Do   While   h  
                  k   =   GetClassName(h,   aClass,   128)  
                  If   Left$(aClass,   k)   =   "Shell   Embedding"   Then   hw   =   h:   Exit   Do  
                  h   =   GetWindow(h,   GW_HWNDNEXT)  
          Loop  
   
          WebBrowser1.Navigate   ""  
          origWndProc   =   SetWindowLong(hw,   GWL_WNDPROC,   AddressOf   AppWndProc)  
  End   Sub  
   
  Private   Sub   Form_QueryUnload(Cancel   As   Integer,   UnloadMode   As   Integer)  
          SetWindowLong   hw,   GWL_WNDPROC,   origWndProc  
  End   Sub  
   
  Private   Sub   mnuPrint_Click()  
          MsgBox   "Print!"  
  End   Sub  
   
  Private   Sub   mnuNavigate_Click()  
  Command1_Click  
  End   Sub  
   
  Private   Sub   Text1_GotFocus()  
          Text1.SelStart   =   0  
          Text1.SelLength   =   Len(Text1.Text)  
  End   Sub  
 

 

 

 


这是上面的加menu   的bas   文件  
   
  ==  
  Option   Explicit  
  Public   Declare   Function   CallWindowProc   Lib   "user32"   Alias   "CallWindowProcA"   (ByVal   lpPrevWndFunc   As   Long,   ByVal   hwnd   As   Long,   ByVal   Msg   As   Long,   ByVal   wParam   As   Long,   ByVal   lParam   As   Long)   As   Long  
  Public   Declare   Sub   CopyMemory   Lib   "kernel32"   Alias   "RtlMoveMemory"   (hpvDest   As   Any,   hpvSource   As   Any,   ByVal   cbCopy   As   Long)  
  Public   Declare   Function   GetClassName   Lib   "user32"   Alias   "GetClassNameA"   (ByVal   hwnd   As   Long,   ByVal   lpClassName   As   String,   ByVal   nMaxCount   As   Long)   As   Long  
  Public   Declare   Function   GetWindow   Lib   "user32"   (ByVal   hwnd   As   Long,   ByVal   wCmd   As   Long)   As   Long  
  Public   Declare   Function   SetWindowLong   Lib   "user32"   Alias   "SetWindowLongA"   (ByVal   hwnd   As   Long,   ByVal   nIndex   As   Long,   ByVal   dwNewLong   As   Long)   As   Long  
   
  Public   Const   GWL_WNDPROC   =   (-4)  
   
  Public   Const   GW_HWNDNEXT   =   2  
  Public   Const   GW_CHILD   =   5  
           
  Public   Const   WM_MOUSEACTIVATE   =   &H21  
  Public   Const   WM_CONTEXTMENU   =   &H7B  
  Public   Const   WM_RBUTTONDOWN   =   &H204  
   
  Public   origWndProc   As   Long  
   
  Public   Function   AppWndProc(ByVal   hwnd   As   Long,   ByVal   Msg   As   Long,   ByVal   wParam   As   Long,   ByVal   lParam   As   Long)   As   Long  
          Select   Case   Msg  
                  Case   WM_MOUSEACTIVATE  
                          Dim   C   As   Integer  
                          Call   CopyMemory(C,   ByVal   VarPtr(lParam)   +   2,   2)  
                          If   C   =   WM_RBUTTONDOWN   Then  
                                  Form1.PopupMenu   Form1.mnuBrowser  
                                  SendKeys   "{ESC}"  
                          End   If  
                  Case   WM_CONTEXTMENU  
                          Form1.PopupMenu   Form1.mnuBrowser  
                          SendKeys   "{ESC}"  
          End   Select  
          AppWndProc   =   CallWindowProc(origWndProc,   hwnd,   Msg,   wParam,   lParam)  
  End   Function  
   




本文来源:http://blog.csdn.net/surro/archive/2007/08/22/1754920.aspx
站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     如何在ado中使用connect…
     vb 贪吃蛇 单人版游戏 (…
     关于在vb中进行com组件的…
     用vb6.0编写自我升级的程…
     vb自动登陆网络站点详解…
     vb打造超酷个性化菜单(…
  • weblogic 9.1的domain配置my…

  • 保留weblogic 中jsp编译后生…

  • 设计模式之--Bridge

  • 浅析Spring框架下PropertyPl…

  • JavaWeb中的Session、Sessio…

  • JSP Tag Library

  • chapter one

  • ymbian视图结构 在 CCoeCont…

  • MVP——Model-Viewer-Presen…

  • IronPython指南 - 9. 类[转]

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David