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