获得当前Windows目录有GetWindowsDirectory()函数;
获得当前系统目录有GetSystemDirectory()函数;
那么,
获得当前Program Files目录该用哪个函数呢?

解决方案 »

  1.   

    Program Files
    不是系统目录吧!
    也不一定有.
    所以可能无法实现!
      

  2.   

    LPITEMIDLIST ppidl;
    char strPath[255];

    SHGetSpecialFolderLocation(NULL, CSIDL_PROGRAMS, &ppidl); 
        SHGetPathFromIDList(ppidl, strPath);
      

  3.   

    Program Files?我每个盘都可以弄一个,如果是系统默认的,应该是系统是同一个驱动器的吧。!
      

  4.   

    应该有吧,那些安装程序都能准确的找到Program Files目录,然后把软件安装在那里。
      

  5.   

    to:lixiaosan(小三) 
    你可能理解错了,不是要找程序组的位置,而是要默认安装软件的目录,例如:C:\Program Files\
      

  6.   

    不知道下面这种办法科不科学?系统盘符 + 硬编码的\Program Files\
      

  7.   

    一楼说得对,它不是系统目录,应该没有这个函数。不过一般Program Files在系统根目录下,可以通过GetSystemDirectory()适当修改得到系统分区号如"C:",在后面添加上"\\Program Files"不就可以了。
      

  8.   

    Program Files?我每个盘都可以弄一个
      

  9.   

    Windows一安装好,系统盘下必然有一个Program Files,而且里面还有好些东西。就是不知道这个目录的名称会不会有例外的情况?
      

  10.   

    那就GetSystemDirectory得到系统盘,然后字符串相加得到c:\\Program Files
      

  11.   

    SHGetSpecialFolderPath()函数倒是有这个功能,就是版本要求太高了,我缺少那个宏定义,编译不过去:CSIDL_PROGRAM_FILES 
    Version 5.0. Program Files folder. A typical path is C:\Program Files. 摘录自MSDN
      

  12.   

    vc.net有这个宏,能编过。。vc6不行#define CSIDL_LOCAL_APPDATA             0x001C      // non roaming, user\Local Settings\Application Data
    #define CSIDL_INTERNET_CACHE            0x0020
    #define CSIDL_COOKIES                   0x0021
    #define CSIDL_HISTORY                   0x0022
    #define CSIDL_COMMON_APPDATA            0x0023      // All Users\Application Data
    #define CSIDL_WINDOWS                   0x0024      // GetWindowsDirectory()
    #define CSIDL_SYSTEM                    0x0025      // GetSystemDirectory()
    #define CSIDL_PROGRAM_FILES             0x0026      // C:\Program Files
    #define CSIDL_MYPICTURES                0x0027      // My Pictures, new for Win2K
    #define CSIDL_PROGRAM_FILES_COMMON      0x002b      // C:\Program Files\Common 
    #define CSIDL_COMMON_DOCUMENTS          0x002e      // All Users\Documents
    #define CSIDL_RESOURCES                 0x0038      // %windir%\Resources\, For theme and other windows resources.
    #define CSIDL_RESOURCES_LOCALIZED       0x0039      // %windir%\Resources\<LangID>, for theme and other windows specific resources.