DDE (Dynamic Data Exchange) is a wonderful (PRIMITIVE) way to exchange data between applications. With this information at hand, I started developing an application to get the loaded URLs in IE and Netscape.
I started by searching on the NET for some nice articles or sample code to start with, but I found absolutely nothing. So I decided if I managed to do it, I would certainly put it up somewhere so if someone STILL wants to do something like this, then I can be of some help.
Doing it with IE was simpler than ever.
DDE Server Name for IE is
IExplore and I simply connected to the
IExplore and subscribed to a service (
WWW_RegisterURLEcho) and WALA, every time IE loads a URL, it called my callback function.
But Netscape was a real pain.
First off they change their DDE Server name every time they throw a new version in the market.
- with Netscape4.X it was "Netscape"
- with Netscpae7 it is "Netscape6"
And worse of all, the document says that it supports
WWW_RegisterURLEcho, but from what I found out, it doesn't. But there is another service
WWW_GetwindowInfo, which will give you the currently loaded URL in Netscape window.
The sample application that is available here gives the URL for all loaded IE windows and one Netscape browser (I can't do everything for you :))
I wrote some wrapper functions around the DDE API. I thought of making a CDDE class, but there is really not much to wrap.
Hope you all benefit from this code.