正在寻找解决我的问题的方法。我们正在为客户端的产品中构建一个 Web 浏览器控件,他们需要能够检测到网站上何时有文件上传框,然后它需要打开自己的文件浏览器窗口,而不是启动 Windows 7 文件浏览器窗口定制设计的一个
是否有浏览器事件允许我们捕获该事件?
最佳答案
您可以hook up your own download manager仅在 Web 浏览器控件主机进程中有效,方法是在控件站点中实现 IServiceProvider 并实现 QueryService 以在 Web 浏览器控件请求时返回 IDownloadManager 对象
在 Windows 窗体的 Webbrowser 类中,默认情况下会为您创建一个控制站点,但您可以override the control site通过创建您自己的 WebBrowserSiteBase类并重写 WebBrowser.CreateWebBrowserSiteBase 方法。如果您使用 WPF、Silverlight 或 Windows Phone 中的 Web 浏览器控件,则不存在此类扩展性。
我建议您使用 C++ 编写下载管理器,因为如果您使用 C# 进行编码,则需要大量的互操作。有一个使用 native 下载管理器的 C# Web浏览器控件的示例 here .
关于c# - 下载文件时显示自定义对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12881729/