在.net中如何处理IE中的保存窗口

本文关键字:IE 保存 窗口 处理 net 何处理 | 更新日期: 2023-09-27 17:49:22

我有一些程序登录到网站,并试图下载文件,现在我使用WatIn和User32 findwindowwex找到保存对话框,并发送带有标签的PostMessage,然后按下保存按钮

MainPopUp = browserToRun.hWnd.ToInt32();
int currChild = FindWindowEx(MainPopUp, 0, ClassName, WindowName);
PostMessage(currChild, WM_KEYDOWN, VK_TAB, 2);
PostMessage(currChild, WM_KEYDOWN, VK_ENTER, 2);

这是有效的,但不是所有的时候。

这是一个安全的网站,我看不到下载url,我不能使用

[DllImport("urlmon.dll", CharSet = CharSet.Auto, SetLastError = true)] static extern Int32 URLDownloadToFile(Int32 pCaller, string szURL, string szFileName, Int32 dwReserved, Int32 lpfnCB);
int response = URLDownloadToFile(0, browserToRun.Button(Find.ById("btnExcelExport")).Url, @"C:'Users'vladimirp'VN.xls", 0, 0);

我需要一些可以处理这个弹出对话框的方法,并且没有UI,因为用户Pc可以被锁定,即使用户窗口被锁定,这也必须工作。

*我没有看到WebClient.DownloadFileAsync(url,Path)不能工作

有谁知道如何处理IE保存对话框吗?net c#

在.net中如何处理IE中的保存窗口

请参考处理文件下载弹出式帖子。然而,那篇文章中的解决方案需要一个活跃的桌面会话。