Я разрабатываю дополнение к inte rnet explorer (это dll, прикрепленный к процессу iexplorer).
Я пытаюсь добиться следующего: когда пользователь пытается загрузить файл , заблокируйте его, отправьте ссылку на какой-нибудь антивирусный сервер для проверки.
На данный момент у меня есть следующий код (сейчас я написал его в простом консольном приложении):
SHDocVw.InternetExplorer IE = new SHDocVw.InternetExplorer();
IE.BeforeNavigate2 += IE_BeforeNavigate2;
IE.Visible = true;
Console.ReadKey();
//...
static void IE_BeforeNavigate2(object pDisp, ref object URL, ref object Flags, ref object TargetFrameName, ref object PostData, ref object Headers, ref bool Cancel)
{
//validate that the url is a file link...
Cancel=true;
// send URL.ToString(); for inspection
}
InternetExplorer
Проблема : это событие вызывало каждую навигацию, которую я сделал, но я хочу обнаружить загрузку пользователя.
т.е. когда пользователь нажимает:

Я также пытался использовать
IE.DownloadBegin += IE_DownloadBegin;
IE.FileDownload += IE_FileDownload;
Но эти события не срабатывают, когда пользователь нажимает кнопку загрузки.