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#