在我的winform应用程序中,我需要下载文件,下载过程:
但在后台网站流程中,它使用文件链接创建了一个新框架的src属性
我需要的是获取链接并发送到UrlDownloadToFile方法
我的代码:
Browser.Document.GetElementById("downloadXls").InvokeMember("Click");
Application.DoEvents(); // freezes
HtmlWindow downloadFrame = Browser.Document.Window.Frames[2];
string downloadLink = downloadFrame.Document.Body.GetAttribute("src");
在我调用Application.DoEvents();
进程冻结之后的问题,只有在我手动点击文件下载窗口时才会继续。
如何通过弹出窗口并初始化downloadLink。
我认为我可以处理它的一种方法是捕捉窗口事件并取消它。
我尝试了什么:
通过在表单设计器中添加来添加new_window事件:
this.webBrowser.NewWindow += new System.ComponentModel.CancelEventHandler(this.webBrowser_NewWindow);
在Winform类中:
private void webBrowser_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel = true;
}
但文件下载器不像窗口那样处理,还有什么可以作为答案?
感谢。