C++获得系统路径

源码:

[cpp] view plaincopy
1. #include
2. #include
3. #include
4.
5. intmain()
6. {
7. setlocale(LC_ALL,"chs");
8.
9. TCHARszPath[MAX_PATH];
10.
11. intCSIDL[] = {
12. CSIDL_ADMINTOOLS, CSIDL_APPDATA, CSIDL_CDBURN_AREA, CSIDL_COMMON_ADMINTOOLS, CSIDL_COMMON_APPDATA,
13. CSIDL_COMMON_DESKTOPDIRECTORY, CSIDL_COMMON_DOCUMENTS, CSIDL_COMMON_FAVORITES, CSIDL_COMMON_MUSIC,
14. CSIDL_COMMON_PICTURES, CSIDL_COMMON_PROGRAMS, CSIDL_COMMON_STARTMENU, CSIDL_COMMON_STARTUP,
15. CSIDL_COMMON_TEMPLATES, CSIDL_COMMON_VIDEO, CSIDL_COOKIES, CSIDL_FAVORITES,
16. CSIDL_HISTORY, CSIDL_INTERNET_CACHE, CSIDL_LOCAL_APPDATA, CSIDL_MYDOCUMENTS,
17. CSIDL_MYMUSIC, CSIDL_MYPICTURES, CSIDL_MYVIDEO, CSIDL_PROFILE, CSIDL_PROGRAM_FILES,
18. CSIDL_PROGRAM_FILES_COMMON, CSIDL_PROGRAMS, CSIDL_RECENT, CSIDL_SENDTO,
19. CSIDL_STARTMENU, CSIDL_STARTUP, CSIDL_SYSTEM, CSIDL_TEMPLATES, CSIDL_WINDOWS,
20. 0
21. };
22.
23. for(inti=0;CSIDL[i];i++) {
24. if(SUCCEEDED(SHGetFolderPath(NULL, CSIDL[i], NULL, SHGFP_TYPE_CURRENT, szPath))) {
25. wprintf(L"%d, %s\n", i, szPath);
26. }
27. }
28.
29. return0;
30. }


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

[cpp] view plaincopy
1. HRESULTSHGetKnownFolderPath(
2. In REFKNOWNFOLDERID rfid,
3. InDWORDdwFlags,
4. In_optHANDLEhToken,
5. OutPWSTR*ppszPath
6. );



结果:

[plain] view plaincopy
1. 0, C:\Documents and Settings\Administrator\「開始」菜单\程序\管理工具
2. 1, C:\Documents and Settings\Administrator\Application Data
3. 2, C:\Documents and Settings\Administrator\Local Settings\Application Data\Microsoft\CD Burning
4. 3, C:\Documents and Settings\All Users\「開始」菜单\程序\管理工具
5. 4, C:\Documents and Settings\All Users\Application Data
6. 5, C:\Documents and Settings\All Users\桌面
7. 6, C:\Documents and Settings\All Users\Documents
8. 7, C:\Documents and Settings\All Users\Favorites
9. 8, C:\Documents and Settings\All Users\Documents\My Music
10. 9, C:\Documents and Settings\All Users\Documents\My Pictures
11. 10, C:\Documents and Settings\All Users\「開始」菜单\程序
12. 11, C:\Documents and Settings\All Users\「開始」菜单
13. 12, C:\Documents and Settings\All Users\「開始」菜单\程序\启动
14. 13, C:\Documents and Settings\All Users\Templates
15. 14, C:\Documents and Settings\All Users\Documents\My Videos
16. 15, D:\My Documents\Cookies
17. 16, D:\My Documents\Favorites
18. 17, C:\Documents and Settings\Administrator\Local Settings\History
19. 18, C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files
20. 19, C:\Documents and Settings\Administrator\Local Settings\Application Data
21. 20, D:\My Documents
22. 21, D:\My Documents\My Music
23. 22, D:\My Documents\My Pictures
24. 23, D:\My Documents\My Videos
25. 24, C:\Documents and Settings\Administrator
26. 25, C:\Program Files
27. 26, C:\Program Files\Common Files
28. 27, C:\Documents and Settings\Administrator\「開始」菜单\程序
29. 28, C:\Documents and Settings\Administrator\Recent
30. 29, C:\Documents and Settings\Administrator\SendTo
31. 30, C:\Documents and Settings\Administrator\「開始」菜单
32. 31, C:\Documents and Settings\Administrator\「開始」菜单\程序\启动
33. 32, C:\WINDOWS\system32
34. 33, C:\Documents and Settings\Administrator\Templates
35. 34, C:\WINDOWS


转自:http://blog.csdn.net/feier7501/article/details/11182243原文链接: https://www.cnblogs.com/bhlsheji/p/5328314.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/231000

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月13日 下午2:51
下一篇 2023年2月13日 下午2:52

相关推荐