Improve company productivity with a Business Account.Sign Up

x
?
Solved

Activex Document Server & Internet Explorer

Posted on 2012-03-12
3
Medium Priority
?
371 Views
Last Modified: 2012-08-14
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?

Thanks in advance for any suggestions.

tomas
0
Comment
Question by:tomas_v
  • 2
3 Comments
 
LVL 7

Expert Comment

by:tampnic
ID: 37719169
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
0
 

Accepted Solution

by:
tomas_v earned 0 total points
ID: 37840172
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.

http://support.microsoft.com/kb/178059
0
 

Author Closing Comment

by:tomas_v
ID: 37859678
Found solution
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Unlike C#, C++ doesn't have native support for sealing classes (so they cannot be sub-classed). At the cost of a virtual base class pointer it is possible to implement a pseudo sealing mechanism The trick is to virtually inherit from a base class…
Written by John Humphreys C++ Threading and the POSIX Library This article will cover the basic information that you need to know in order to make use of the POSIX threading library available for C and C++ on UNIX and most Linux systems.   [s…
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.

595 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