2015-05-17 3 views
0

У меня есть программа, которая заходит на веб-сайт и пытается загрузить файл, прямо сейчас я использую WatIn и User32 FindWindowEx, чтобы найти диалог SaveAs и отправить PostMessage с вкладкой и ввести для нажатия Кнопка сохраненияКак обрабатывать SaveAs PopUp в IE в .Net

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); 

это работает, но не все время.

Это защищенный веб-сайт свиноматка я не могу видеть DownloadUrl и я не могу использовать

[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); 

Мне нужна Mothed, который может обрабатывать этот диалог всплывающего, и с вне UI, потому что пользователь ПК может быть заблокирован , сеять это должно работать, даже если пользовательские окна заблокированы.

* Я не вижу downloadURL сеют WebClient.DownloadFileAsync (URL, путь) не будет работать

Кто-нибудь знает, как обращаться с IE сохранить диалог? .Net C#

+0

Я занимался той же проблемой за последний год, и пока не нашел ее решения. У меня есть выделенная станция для этого, когда пользователь зарегистрировался, поэтому процесс может загрузить файл. AFAIK, если у вас есть пользовательский интерфейс пользователя IE, вам понадобится войти в систему. – ProgrammerV5

ответ