我需要阻止.NET WebBrowser控件显示"您要打开还是保存此文件?" 和"另存为"对话框.相反,我想显示一个消息框,告诉用户出于安全原因禁用了文件下载.
我从FileDownload
事件开始WebBrowser
,但不允许取消.然后,我使用CodeProject:Extended .NET 2.0 WebBrowser Control中的方法,使用该接口基于原始COM调用实现我自己的事件DWebBrowserEvents2
.当我根据有关FileDownload签名的错误的MS知识库条目修复代码时,调用了事件处理程序,我能够取消下载.
但这并不适用于所有下载:下载指向URL的URL,包括.exe
引发事件,可以在对话框出现之前取消 - 但对于其他人(如.do
),事件处理程序在用户单击之前不会被调用Open
,Save
或者Cancel
在对话.
一个可能的解决方案可能是拦截WH_CALLWNDPROCRET
消息并在向用户显示之前"回答"对话框,但这听起来很费劲,我也更喜欢更清洁的解决方案......
有谁知道如何可靠地阻止所有下载?