博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Webbrowser 取消下载提示框
阅读量:4992 次
发布时间:2019-06-12

本文共 2023 字,大约阅读时间需要 6 分钟。

在使用Webbrowser抓取网页信息时,碰到需要下载文件,这时需要用户介入操作,如何避免:

 

首先引进

[DllImport("urlmon.dll", CharSet = CharSet.Auto, SetLastError = true)]          static extern Int32 URLDownloadToFile(              [MarshalAs(UnmanagedType.IUnknown)] object pCaller,              [MarshalAs(UnmanagedType.LPWStr)] string szURL,              [MarshalAs(UnmanagedType.LPWStr)] string szFileName,              Int32 dwReserved,              IntPtr lpfnCB);
再添加  
this.WebBrowser.Navigating += WebBrowser_Navigating;
void WebBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e){
           //设置下载条件 if (e.Url != null && e.Url.AbsolutePath.IndexOf("/V1/Delivery/Download") > -1) { try { if (Citation.IsValid) { UIManager.ProgressMessageHandler(this, new UIEventArgs { Message = "Downloading "+ e.Url.Segments[e.Url.Segments.Length - 1]});                     string fullname = Path.Combine(pdfSavePath_, e.Url.Segments[e.Url.Segments.Length - 1]);                                           //在这替换“下载提示框”,并自定义下载                      int response = URLDownloadToFile(null, e.Url.AbsoluteUri, fullname, 0, IntPtr.Zero); if (response == 0) { Citation.IsDownloaded = true; UIManager.ProgressMessageHandler(this, new UIEventArgs { Message = Citation.Name + " has downloaded." }); } } } catch { } finally {
                 //取消“下载提示框”,不会再提示用户 e.Cancel = true; } } }

 

                 

转载于:https://www.cnblogs.com/yipeng-yu/p/4901158.html

你可能感兴趣的文章
使用SQL Server 2008的事务日志传送功能备份数据库(logshiping)
查看>>
AngularJS多个ng-app只解析第一个的问题
查看>>
强制修改常量的值
查看>>
Grunt 初体验
查看>>
hive跑mapreduce报java.lang.RuntimeException: Error in configuring object
查看>>
ArcGIS中的坐标系统定义与投影转换方法
查看>>
机械臂的碰撞检测资料
查看>>
[UnityShader基础]01.渲染队列
查看>>
字符串转整型C++
查看>>
随机生成红包算法
查看>>
Datatable get请求传参应用
查看>>
杭电1170
查看>>
3unit8
查看>>
kettle与各数据库建立链接的链接字符串
查看>>
【转】Apache Solr 访问权限控制
查看>>
LoadRunner压力测试实际运用的使用方法
查看>>
项目管理理论与实践(1)——企业项目管理介绍
查看>>
MySql学习20----数据库范式
查看>>
[Mark]The problems & solutions of vmware vsphere
查看>>
在centos7 上部署 vuepress
查看>>