[Win32utils-devel] Possible win32-dir mods

Zach Dennis zdennis at mktec.com
Tue May 3 19:49:06 EDT 2005


Daniel Berger wrote:
> Hi Zach (or anyone with VC++ 6),
> 
> I was hoping you would test a couple things for me. 
> The first thing I would like you to try is replacing
> "#include <shlobj.h>" with "#include <shfolder.h>". 
> That, or try including both.

With Visual Studio 6 I do not have a shfolder.h, although I do have a 
shlobj.h. (Although with Borland BC55 you do get shfolder.h). Instead in 
shlobj.h I have the following constants defined:

#define CSIDL_DESKTOP                   0x0000
#define CSIDL_INTERNET                  0x0001
#define CSIDL_PROGRAMS                  0x0002
#define CSIDL_CONTROLS                  0x0003
#define CSIDL_PRINTERS                  0x0004
#define CSIDL_PERSONAL                  0x0005
#define CSIDL_FAVORITES                 0x0006
#define CSIDL_STARTUP                   0x0007
#define CSIDL_RECENT                    0x0008
#define CSIDL_SENDTO                    0x0009
#define CSIDL_BITBUCKET                 0x000a
#define CSIDL_STARTMENU                 0x000b
#define CSIDL_DESKTOPDIRECTORY          0x0010
#define CSIDL_DRIVES                    0x0011
#define CSIDL_NETWORK                   0x0012
#define CSIDL_NETHOOD                   0x0013
#define CSIDL_FONTS                     0x0014
#define CSIDL_TEMPLATES                 0x0015
#define CSIDL_COMMON_STARTMENU          0x0016
#define CSIDL_COMMON_PROGRAMS           0X0017
#define CSIDL_COMMON_STARTUP            0x0018
#define CSIDL_COMMON_DESKTOPDIRECTORY   0x0019
#define CSIDL_APPDATA                   0x001a
#define CSIDL_PRINTHOOD                 0x001b
#define CSIDL_ALTSTARTUP                0x001d         // DBCS
#define CSIDL_COMMON_ALTSTARTUP         0x001e         // DBCS
#define CSIDL_COMMON_FAVORITES          0x001f
#define CSIDL_INTERNET_CACHE            0x0020
#define CSIDL_COOKIES                   0x0021
#define CSIDL_HISTORY                   0x0022

> 
> If that doesn't do the trick, the next thing I'd like
> to try is commenting out all the rb_define_const lines
> that were undefined except CSIDL_ADMINTOOLS.  Then put
> this somewhere near the top of dir.c:
> 
> #ifndef CSIDL_ADMINTOOLS
> #define CSIDL_ADMINTOOLS 0x0030
> #endif

The CSIDL_ADMINTOOLS returned nil, however I did the same with 
CSIDL_HISTORY and it worked.

>  I'll just wrap the
> rb_define_const function calls.

If you want me to aide in an of this grunt work just say, "hey help me 
with this grunt work you bloody Visual Studio 6 user, or upgrade!!" =)

Zach




More information about the win32utils-devel mailing list