当前位置:编程学习 > C#/ASP.NET >>

webbrowser控件,如何在下载时不弹出“另存为”,而是自动保存到默认路径呢?

C# 中 webbrowser控件,如何在下载时不弹出“另存为”,而是自动保存到默认路径呢?

各路高手帮忙解答一下,跪谢啊 --------------------编程问答-------------------- 很有用的问题 ,帮你顶 等待高手 --------------------编程问答-------------------- 顶顶, 怎么都没高手愿意回复呢 --------------------编程问答--------------------
怎么会没人呢 --------------------编程问答-------------------- 因浏览器安全性问题貌似不太可行 --------------------编程问答-------------------- 顶一下。这个问题不太好解决啊。 --------------------编程问答-------------------- 可不可以换个方式
獲取下载网址后
直接download下來到指定位置 --------------------编程问答-------------------- 这个简单,我只告诉你思路.我原来刚好做过;
要分成两个问题来处理.关闭所有弹出框,得到弹出子窗口是否为下载文件路径,自己处理下载;

首先,拦截所有的弹出框.控件的属性有个设置可以关闭脚本,事件里有个弹出子窗口.同样关闭.第一个问题解决;
第二个问题;在弹出子窗口的时候,判断地址后缀;你会迅雷,旋风之类的下载工具吧.它有个设置,自动检查网址的后缀为,.RAR,ZIP,EXE,ISO,等等;是不是设置后,有下载的东西就自动下载了,而不是另存为呢.同样你也是设置你想要的格式.然后得到地址.并自行下载或者不操作;

以上两个问题解决,你的问题就OK了.分太少了.我开帖都是一百起的.楼主可以考虑一下加分,也可以不加;

--------------------编程问答--------------------    
    通过实现自定义下载管理器,您的 web 浏览器应用程序或 Internet Explorer 可以进行扩展以显示自定义用户界面。下载管理器作为IUnknown接口和IDownloadManager接口公开一个 COM 对象来实现。IDownloadManager只具有一个方法, IDownloadManager::Download。通过 Internet Explorer 或要下载的文件的 web 浏览器应用程序通过调

   c#里面重载 IDownloadManager   可以消除另存为和指定相应的路径。

   public void Download(IMoniker pmk,  IBindCtx pbc, UInt32 dwBindVerb,
          int grfBINDF,

          re IntPtr pBindInfo,

          String pszHeaders,

          String pszRedir,

          UInt32 uiCP)
         {

             string pwszUrl = null;
             pmk.GetDisplayName(pbc, null, out pwszUrl);
             //string s = StringToUnicode(pwszUrl);
             //string sFileYzmGif = null;
             //int iresult = URLDownloadToFile(null, pwszUrl, "d:\abc", 0, IntPtr.Zero);
             MessageBox.Show(pwszUrl);
             _amDBRSetThermoModel amf = (_amDBRSetThermoModel)GetFunctionAddress(hModule(), "DoFileDownload", typeof(_amDBRSetThermoModel));
             int a = amf(pwszUrl);
            
         }
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,