DDE is the way the shell tells a running instance of a program to do something. You don't have to make your program use DDE, but if you don't it must start a new instance every time. Somehow you have to have a mechanism for the shell to tell your program what it wants you to do. If you are not using DDE then it will have to be by switches or something on the command line. Just sending a file name parameter is not precise enough. The registry has lots of protocol entries as well as file associations. Not all the protocols are handled by IE, some are done by rundll. You can choose which operations will be done by your browser by only changing the registry entries for those things. http://support.microsoft.com/kb/q177054/ http://support.microsoft.com/kb/q175306/
http://support.microsoft.com/kb/q175306/