现在我需要使用WebBrowser通过Navigate方法访问页面,而且需要支持代理.代理设置现在是已经设置进去了,但就是用户名和密码无法在程序中设置进去,总是弹出对话框提示输入用户名和密码.我现在想把这个对话框去掉,请问各位有什么好办法没有? 

解决方案 »

  1.   

    TO jiangsheng:
         你好,我见过你在一个帖子里回复了关于int IAuthenticate.Authenticate(ref IntPtr phwnd, ref IntPtr pszUsername, ref IntPtr pszPassword)的,方法,我比较菜。想知道具体怎么操作,可否详细的说下。就是现在有了webBrowser,然后后面怎么配置,多谢!!
      

  2.   

    可以参考http://www.codeproject.com/KB/miscctrl/csEXWB.aspx这里的实现
      

  3.   

    to jiangsheng:
       好的,多谢,分给你了
      

  4.   

    TO jiangsheng:
        你好,我从你给的那个连接把那个项目下下来了,可是关于IAuthenticate这个方法他也只是有定义,并没有使用啊。不知能否给个在WebBrowser上使用IAuthenticate的具体实例代码。多谢
      

  5.   

    csEXWB.cs从第4527行开始就是啊?
      

  6.   

     4527行附近是这个啊
     else if (riid == Iid_Clsids.IID_IProtectFocus) //IE7 + Vista
                {
                    ppvObject = Marshal.GetComInterfaceForObject(this, typeof(IProtectFocus));
     4527 行     hr = Hresults.S_OK;
                }我的疑惑是文件中虽然定义了int IAuthenticate.Authenticate,可是没有调用啊?
      

  7.   

    TO jiangsheng:
     else if (riid == Iid_Clsids.IID_IProtectFocus) //IE7 + Vista
      {
      ppvObject = Marshal.GetComInterfaceForObject(this, typeof(IProtectFocus));
     4527 行 hr = Hresults.S_OK;
      }我的疑惑是文件中虽然定义了int IAuthenticate.Authenticate,可是没有调用啊?
      

  8.   

    http://www.google.com/codesearch#Y0QumTMIokc/cEXWB.cs&type=cs
      

  9.   

    http://csexwb2.googlecode.com/svn/trunk/cEXWB.cs
      

  10.   

    TO jiangsheng:
        感谢你的回答,我想说的是,这个代码我已经有了,可是现在我的疑惑是文件中虽然定义了int IAuthenticate.Authenticate,可是没有调用啊?不知道可否具体说下如何调用,可否给个只是使用Authenticate的简单例子,我对这个一窍不通,这几天看得头都大了,还请你帮帮忙,多谢!!
      

  11.   

    TO jiangsheng:
    多谢你的回答
    我怎么知道浏览器调用呢?是不是需要我自己写api捕获啊?
      

  12.   

    TO jiangsheng:
        十分感谢你的回答    
        只是……我的不是输入登录网站的网站的信息,而是为webBrowser这个控件加代理,代理需要用户名和密码认证。
      

  13.   

    代理的密码也是一样的,参考http://support.microsoft.com/kb/320153