听取Internet Explorer下载事件

我需要在C#和VS2010中编写一个应用程序,它可以从Internet Explorer监听下载事件并捕获文件URL以将其添加到某个数据库。

我唯一的问题是如何实现实际捕获该事件的接口。

为了构建或实现这样的function,我需要什么?

寻找“免费下载管理器或FDM软件”的function,每次在Internet Explorer上开始下载时,都会弹出一个包含下载URL的“FDM”窗口。

您需要一个浏览器帮助程序对象 。 这些是COM组件,因此您可以使用C#开发它们,但是您需要将它们公开给COM。

这是C#中COM编程的入门读物。

UPDATE

这似乎是在C ++中编写浏览器帮助对象的唯一方法 。 看看这里 。

你可以使用这样的东西:

public class BHO:IObjectWithSite { private WebBrowser webBrowser; public int SetSite(object site){ webBrowser = (WebBrowser)site; webBrowser.DownloadComplete +=new DWebBrowserEvents2_DownloadCompleteEventHandler(webBrowser_DownloadComplete); (...) }