WebBrowser检测文件下载事件

问题描述 投票:1回答:1

我想开发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();
    }
}
c# internet-explorer events add-on shdocvw
1个回答
0
投票

尝试使用WebBrowser.FileDownload Event。当WebBrowser控件下载文件时,会发生这种情况。

private void WebBrowser1_FileDownload(Object sender, EventArgs e) {

   MessageBox.Show("You are in the WebBrowser.FileDownload event.");
}
© www.soinside.com 2019 - 2024. All rights reserved.