当前位置:首页 > 芯闻号 > 充电吧
[导读] 做WIN下面的开发,不可避免要用到一些系统路径,在开发 FreeEIM 时,用到的一些代码,比较完整的 WINDOWS 系统路径获取方法。 [cpp] view plain copy

做WIN下面的开发,不可避免要用到一些系统路径,在开发 FreeEIM 时,用到的一些代码,比较完整的 WINDOWS 系统路径获取方法。

[cpp] view plain copy #include    #include    #include       int main()   {       setlocale(LC_ALL, "chs");          TCHAR szPath[MAX_PATH];          int CSIDL[] = {           CSIDL_ADMINTOOLS,       CSIDL_APPDATA,  CSIDL_CDBURN_AREA,      CSIDL_COMMON_ADMINTOOLS,    CSIDL_COMMON_APPDATA,           CSIDL_COMMON_DESKTOPDIRECTORY,          CSIDL_COMMON_DOCUMENTS, CSIDL_COMMON_FAVORITES,     CSIDL_COMMON_MUSIC,           CSIDL_COMMON_PICTURES,  CSIDL_COMMON_PROGRAMS,  CSIDL_COMMON_STARTMENU, CSIDL_COMMON_STARTUP,           CSIDL_COMMON_TEMPLATES, CSIDL_COMMON_VIDEO,     CSIDL_COOKIES,          CSIDL_FAVORITES,           CSIDL_HISTORY,          CSIDL_INTERNET_CACHE,   CSIDL_LOCAL_APPDATA,    CSIDL_MYDOCUMENTS,           CSIDL_MYMUSIC,          CSIDL_MYPICTURES,       CSIDL_MYVIDEO,          CSIDL_PROFILE,      CSIDL_PROGRAM_FILES,           CSIDL_PROGRAM_FILES_COMMON,                     CSIDL_PROGRAMS,         CSIDL_RECENT,       CSIDL_SENDTO,           CSIDL_STARTMENU,        CSIDL_STARTUP,          CSIDL_SYSTEM,           CSIDL_TEMPLATES,    CSIDL_WINDOWS,           0       };          for (int i=0;CSIDL[i];i++) {           if (SUCCEEDED(SHGetFolderPath(NULL, CSIDL[i], NULL, SHGFP_TYPE_CURRENT, szPath))) {               wprintf(L"%d, %sn", i, szPath);           }       }          return 0;   }  


在XP上,用VS2010编译通过,如果是win7或者更高版本,应该用

[cpp] view plain copy HRESULT SHGetKnownFolderPath(     _In_      REFKNOWNFOLDERID rfid,     _In_      DWORD dwFlags,     _In_opt_  HANDLE hToken,     _Out_     PWSTR *ppszPath   );  


以下是编译输出。

[cpp] view plain copy 0, C:Documents and SettingsAdministrator「开始」菜单程序管理工具   1, C:Documents and SettingsAdministratorApplication Data   2, C:Documents and SettingsAdministratorLocal SettingsApplication DataMicrosoftCD Burning   3, C:Documents and SettingsAll Users「开始」菜单程序管理工具   4, C:Documents and SettingsAll UsersApplication Data   5, C:Documents and SettingsAll Users桌面   6, C:Documents and SettingsAll UsersDocuments   7, C:Documents and SettingsAll UsersFavorites   8, C:Documents and SettingsAll UsersDocumentsMy Music   9, C:Documents and SettingsAll UsersDocumentsMy Pictures   10, C:Documents and SettingsAll Users「开始」菜单程序   11, C:Documents and SettingsAll Users「开始」菜单   12, C:Documents and SettingsAll Users「开始」菜单程序启动   13, C:Documents and SettingsAll UsersTemplates   14, C:Documents and SettingsAll UsersDocumentsMy Videos   15, D:My DocumentsCookies   16, D:My DocumentsFavorites   17, C:Documents and SettingsAdministratorLocal SettingsHistory   18, C:Documents and SettingsAdministratorLocal SettingsTemporary Internet Files   19, C:Documents and SettingsAdministratorLocal SettingsApplication Data   20, D:My Documents   21, D:My DocumentsMy Music   22, D:My DocumentsMy Pictures   23, D:My DocumentsMy Videos   24, C:Documents and SettingsAdministrator   25, C:Program Files   26, C:Program FilesCommon Files   27, C:Documents and SettingsAdministrator「开始」菜单程序   28, C:Documents and SettingsAdministratorRecent   29, C:Documents and SettingsAdministratorSendTo   30, C:Documents and SettingsAdministrator「开始」菜单   31, C:Documents and SettingsAdministrator「开始」菜单程序启动   32, C:WINDOWSsystem32   33, C:Documents and SettingsAdministratorTemplates   34, C:WINDOWS  

原文链接:http://blog.csdn.net/mynote/article/details/39026747

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭