Implementing a Custom Download Manager and Integerating it with IE

  • Thread starter Thread starter JP
  • Start date Start date
J

JP

Hi List,

I am trying to create an application which is a Download Manager. I
want this to be attached to the IE so if user clicks a link on the
page to download something and which basically opens my download
manager and not the normal IE download window. The download manager is
some what functional but I am not getting how to attach it to the
browser. I tried Googling and got something, but I am not getting how
to achieve it as I don't have much experience of using a COM object in
a .Net environment.

http://msdn2.microsoft.com/en-us/library/aa753618.aspx

I found people having difficulties following this on net but there was
no specific solution provided.

In this post also it has been said to implement the IDownloadManager,
but no hint how to do it.

http://groups.google.com/group/micr...st&q=CSharp+IDownloadManager#4a45e9623ba94293


Any help in this regard will be highly appreciated.

Regards
Jai Prakash
 
Jai,

Admittedly, Jeffry could have been a little more descriptive.

There is a knowledge base article which has a sample of what you have to
do to implement IDownloadManager:

http://support.microsoft.com/kb/327865

This is in C++, but you should be able to do it in .NET through the COM
interop layer.
 
Nicholas,

I really appreciate your quick reply.

The code sample is in C++. Could you help me out, converting it to
CSharp. I have never used COM object in .Net environment.

The CLSID can be provided in either of the following registry values:
\HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\DownloadUI
\HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\DownloadUI

<b>Note DownloadUI is a string value. The value is the CLSID of the
download manager COM object.</b>

My Download Manager is not a COM oblect, it is managed .net exe. How
to get the CLSID of it and provide it to the above registery value.

Jai Prakash


Jai,

Admittedly, Jeffry could have been a little more descriptive.

There is a knowledge base article which has a sample of what you have to
do to implement IDownloadManager:

http://support.microsoft.com/kb/327865

This is in C++, but you should be able to do it in .NET through the COM
interop layer.

--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)




I am trying to create an application which is a Download Manager. I
want this to be attached to the IE so if user clicks a link on the
page to download something and which basically opens my download
manager and not the normal IE download window. The download manager is
some what functional but I am not getting how to attach it to the
browser. I tried Googling and got something, but I am not getting how
to achieve it as I don't have much experience of using a COM object in
a .Net environment.

I found people having difficulties following this on net but there was
no specific solution provided.
In this post also it has been said to implement the IDownloadManager,
but no hint how to do it.

Any help in this regard will be highly appreciated.
Regards
Jai Prakash- Hide quoted text -

- Show quoted text -
 
Jai,

You are going to have to do the conversion yourself. It's going to
require a great deal of COM interop. You should take a look at the section
of the MSDN documentation titled "COM Interop", located at:

http://msdn2.microsoft.com/en-us/library/6bw51z5z(VS.80).aspx

Specifically, you want to look at the section titled "Exposing .NET
Framework Components to COM", located at:

http://msdn2.microsoft.com/en-us/library/zsfww439(VS.80).aspx

Once you have the basics down, you will have to define the
IDownloadManager interface in your code, and then implement it on your class
which you are going to expose. Some of the types in the Download method of
the IDownloadManager interface are defined in the
System.Runtime.InteropServices.ComTypes namespace, so that can be of help to
you.

If you have to communicate with an external application, then you are
going to have to set up a remoting channel between your COM dll which is the
download manager, and the running app.


--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)

JP said:
Nicholas,

I really appreciate your quick reply.

The code sample is in C++. Could you help me out, converting it to
CSharp. I have never used COM object in .Net environment.

The CLSID can be provided in either of the following registry values:
\HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\DownloadUI
\HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\DownloadUI

<b>Note DownloadUI is a string value. The value is the CLSID of the
download manager COM object.</b>

My Download Manager is not a COM oblect, it is managed .net exe. How
to get the CLSID of it and provide it to the above registery value.

Jai Prakash


Jai,

Admittedly, Jeffry could have been a little more descriptive.

There is a knowledge base article which has a sample of what you have
to
do to implement IDownloadManager:

http://support.microsoft.com/kb/327865

This is in C++, but you should be able to do it in .NET through the
COM
interop layer.

--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)




I am trying to create an application which is a Download Manager. I
want this to be attached to the IE so if user clicks a link on the
page to download something and which basically opens my download
manager and not the normal IE download window. The download manager is
some what functional but I am not getting how to attach it to the
browser. I tried Googling and got something, but I am not getting how
to achieve it as I don't have much experience of using a COM object in
a .Net environment.

I found people having difficulties following this on net but there was
no specific solution provided.
In this post also it has been said to implement the IDownloadManager,
but no hint how to do it.

Any help in this regard will be highly appreciated.
Regards
Jai Prakash- Hide quoted text -

- Show quoted text -
 
Back
Top