我想开发Internet Explorer加载项。我需要检测用户何时下载文件,但是没有找到相关事件。 in this link有事件列表,但对于开始下载文件的用户没有事件
代码示例(请通过链接查看):
using mshtml;
using SHDocVw;
class EventHandlers
{
public void OnBeforeNavigate2(object sender, ref object URL,
ref object Flags, ref object Target,
ref object PostData, ref object Headers,
ref bool Cancel)
{
Console.WriteLine("BeforeNavigate2 fired!");
}
}
class Program
{
static void Main(string[] args)
{
EventHandlers e = new EventHandlers();
SHDocVw.InternetExplorer IE = new SHDocVw.InternetExplorer();
object Empty = 0;
object URL = "http://www.live.com";
// override BeforeNavigate2 event
IE.BeforeNavigate2 += new
SHDocVw.DWebBrowserEvents2_BeforeNavigate2EventHandler(
e.OnBeforeNavigate2);
IE.Visible = true;
IE.Navigate2(ref URL, ref Empty, ref Empty, ref Empty, ref Empty);
System.Threading.Thread.Sleep(5000);
IE.Quit();
}
}
尝试使用WebBrowser.FileDownload Event。当WebBrowser控件下载文件时,会发生这种情况。
private void WebBrowser1_FileDownload(Object sender, EventArgs e) {
MessageBox.Show("You are in the WebBrowser.FileDownload event.");
}