resend - system tray support

Rolf Kalbermatter rolf.kalbermatter at citeng.com
Thu Sep 18 06:37:47 CDT 2003


Dmitry Timoshkov [mailto:dmitry at baikal.ru] wrote:

> "ilmcuts" <ilmcuts at gmx.net> wrote:
> 
> > Check a Win9x version of shell32.dll; also check 
> shdocvw.dll (ordinal 118) 
> > and shdocvw401.dll. One of them exports the function by name on some Win9x 
> > version. The correct name is "ShellDDEInit". I'm not sure where the true 
> > implementation is located, but using ordinal 118 from shdocvw.dll works 
> > beautifully on every windows version which has that DLL. I suspect however 
> > that it is only a redirect to the true implementation which may be inside 
> > shell32.dll or somewhere else. *shrug*
> 
> After looking again at the shell32 from win2k SP4 I've found that it really
> has the strings used by the progman DDE interface. The reason why I didn't
> find the first time is that strings are spread over the code section. So,
> yes, it seems that at least the progman DDE interface handler is residing
> in shell32. Now the question is: how we should implement it? Just add a
> necessary atom "progman" and create a hidden window on dll load event, or
> wait for some apparently undocumented API call and initialize only then?

Well, I suspect that the first Explorer instance implementing the desktop is
probably expected to call that API as well as several others. Ordinal 200 (its
current name SHLocalAlloc() is a little bit misleading here) for instance
registers a Progman window class and creates a Program Manager window 
which presumably serves as desktop. It also establishes a link to OLE32 by
loading it for later weak linking to its functionality and initializes it by calling
OleInitialize()

Ordinal 188 as explained earlier registers a GlobalAtom "PROGMAN" as well
as registering DDE services for "Progman", "Shell", and "Folders".

> P.S.
> Rolf, my apologies for not looking carefully enough first time around.

No offense taken. I just wondered if I had gotten a special W2K build somehow ;-)

Rolf Kalbermatter
 





More information about the wine-devel mailing list