Activex Document Server & Internet Explorer

Dear friends,

I'm working on activex document server that is used to display documents in Internet Explorer (an user enters URL address of a specified document in IE address bar, document is downloaded and displayed in Internet Explorer).

I would like to create some type of progress bar in activex document server that displays information about document's download progress in Internet Explorer.
Is there any COM interface that can be used to obtain these information from Internet Explorer?

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

I don't know how your application works but I recently wrote a download system in php (download a file by specifying a key code in the querystring of the URL, all files on the webserver in a directory above httpdocs to prevent direct downloads).

That php code looks up the file associated with the provided key, sets up the http headers, mime-type etc, then sends the file data in chunks and I can track how much data has been sent in the server side code - I could notionally send that data to a client side object during the download if I wanted. But why bother - most browsers I know already monitor how much data has been received for a download and show progress automatically.

What I'm trying to get at is - it might be easier for you to monitor the download in server code while the server gives data to the client; create a mechanism to send progress messages to a bespoke client ActiveX object. Why isn't the inbuilt IE download progress bar sufficient for the users, its a standard part of the IE user interface?

Cheers,
Chris

tomas_vAuthor Commented: 2012-04-12

Hi Chris,

thank you for your advice.
I've found solution for my problem. I had to implement support for IPersistMoniker interface in my Activex document server.

Internet Explorer performs a QueryInterface on the server's document object for IPersistMoniker. If IPersistMoniker is supported, Internet Explorer calls the IPersistMoniker::Load method with the moniker it used to begin downloading the data file.

Then I can skip the normal binding to storage and download the data in a worker thread and display the progress.