Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

InternetExplorer object (SHDocVw.dll) for IE Automation

Posted on 2004-08-24
7
Medium Priority
?
809 Views
Last Modified: 2012-06-27
I am working on a project where I need to automate IE.  I am writing the application in C# and controlling the browser using the InternetExplorer object (SHDocVw.dll).  So far I have been able to do everything I need to do (navigate to a particular site/page, manipulate elements on the page, populate form objects, submit forms, etc.).  However, I would like to be able to automate the process of saving files that are linked on a site.  For instance on the website are links to .pdf files, .csv files, word files, excel files, images, etc. that I need to download to the local drive.  If I attempt to access the files by their URL/Path on the website, the browser spawns the Open/Save dialog box, of which I have not been able to determine how to interact with.  And the "Always ask this" checkbox doesn't seem to make a difference.

I do not think I can use .NET's WebRequest/HttpWebRequest objects because I need to automate a login process on the site in order to access the files.  That's why I'm using IE Automation.  I cannot use WSH (Windows Scripting Host) as this application does contain other business rules and specialized functionality.

Basically my questions are:  
1.  using IE Automation (using the InternetExplorer object) can I download files (text or binary) from a site to the local machine.  Whether I interact with the Open/Save dialog box spawned by IE or access and download the files via another means, I do not care.  
2.  When IE spawns a dialog window (i.e. Open/Save, Windows Authentication, etc.) how can you interact with it (i.e. click "Save", fill in the login/password boxes, etc.).

If you know of a better way to do what I'm trying to do, please let me know.

I appreciate your help.  Thanks.
 
0
Comment
Question by:jkaina
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
7 Comments
 
LVL 15

Expert Comment

by:Timbo87
ID: 11887195
You can pass credentials to WebClient objects.

WebClient wc = new WebClient();
wc.Credentials = new NetworkCredential("username", "password", "domain");
wc.DownloadFile("http://www.example.com/file.pdf", @"c:\file.pdf");
0
 

Author Comment

by:jkaina
ID: 11887298
Actually, the site uses a proprietary login.  Basically it stores usernames and passwords in a database, upon login/validation, session variables are set, etc.  So it's not using windows authentication.  That's why I was trying IE Automation.  Anyhow, thank you for the response though.  I do appreciate your input.

I ended up figuring out how I could do it.  But again, thank you for the help.
0
 

Author Comment

by:jkaina
ID: 11887431
By the way... for the curious, the way i got this to work was to use DllImport to reference UrlMon and call the UrlDownloadToFile() method.  Thanks goes out to jkr for steering me in the right direction.
0
Fill in the form and get your FREE NFR key NOW!

Veeam® is happy to provide a FREE NFR server license to certified engineers, trainers, and bloggers.  It allows for the non‑production use of Veeam Agent for Microsoft Windows. This license is valid for five workstations and two servers.

 

Accepted Solution

by:
ee_ai_construct earned 0 total points
ID: 11933617
Closed, 500 points refunded.
ee_ai_construct (replacement part #xm34)
Community Support Moderator
0
 
LVL 4

Expert Comment

by:brokeMyLegBiking
ID: 12236254
jkaina, I am trying to perform the same opperation of downloading files. I am encouraged by the fact that you were able to make it work. Do you mind posting a few more links on IE interaction, perhaps some of your sample code? I will have posted another question which you can respond to:  http://Q_21157773.html

Thanks!
0

Featured Post

Enroll in October's Free Course of the Month

Do you work with and analyze data? Enroll in October's Course of the Month for 7+ hours of SQL training, allowing you to quickly and efficiently store or retrieve data. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A basic question.. “What is the Garbage Collector?” The usual answer given back: “Garbage collector is a background thread run by the CLR for freeing up the memory space used by the objects which are no longer used by the program.” I wondered …
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question