Salius wrote:
I am sure shfolder.dll from win98se installation calls GetProcAddress() to get the address of SHGetFolderPathW @ shell32.dll. Moreover, my shell32.dll doesn't export SHGetSpecialFolderPath* by a name, also.
Hm. I'm sorry, I wasn't clear enough. From MSDN on SHGetFolderPath:
This function is a superset of SHGetSpecialFolderPath, included with earlier versions of the Shell. On systems preceeding those including Shell32.dll version 5.0 (Windows Millennium Edition (Windows Me) and Windows 2000), SHGetFolderPath was obtained through SHFolder.dll, distributed with Microsoft Internet Explorer 4.0 and later versions. SHFolder.dll always calls the current platform's version of this function. If that fails, it will try to simulate the appropriate behavior.
So, I think your patch is a good first step, to use GetProcAddress rather than letting the linker do it. A next step would be, I think, to do what I suggested: if this fails, try to GetProcAddress for SHGetSpecialFolderPath, since this was available on older versions of shell32. You might have to search by ordinal if searching by name fails.
So, I don't think my suggestion is that different from Juergen's, just that I suggest an implementation of "try to simulate the appropriate behavior" if the function is not in fact in shell32.
--Juan
_______________________________ Do you Yahoo!? Win 1 of 4,000 free domain names from Yahoo! Enter now. http://promotions.yahoo.com/goldrush