小古Blog
C#获取系统特殊文件夹路径(转)
2013-5-23 小古

转自:http://hi.baidu.com/ysuhy/item/b12a57d3660ccc90270ae7f9


主要方法就是System.Environment.GetFolderPath(SpecialFolder) ;


以下是这个枚举


public enum SpecialFolder

        {

            // 摘要:

            //     逻辑桌面,而不是物理文件系统位置。

            Desktop = 0,

            //

            // 摘要:

            //     包含用户程序组的目录。

            Programs = 2,

            //

            // 摘要:

            //     用作文档的公共储存库的目录。

            Personal = 5,

            //

            // 摘要:

            //     “我的文档”文件夹。

            MyDocuments = 5,

            //

            // 摘要:

            //     用作用户收藏夹项的公共储存库的目录。

            Favorites = 6,

            //

            // 摘要:

            //     对应于用户的“启动”程序组的目录。

            Startup = 7,

            //

            // 摘要:

            //     包含用户最近使用过的文档的目录。

            Recent = 8,

            //

            // 摘要:

            //     包含“发送”菜单项的目录。

            SendTo = 9,

            //

            // 摘要:

            //     包含“开始”菜单项的目录。

            StartMenu = 11,

            //

            // 摘要:

            //     “我的音乐”文件夹。

            MyMusic = 13,

            //

            // 摘要:

            //     文件系统目录,充当属于某个用户的视频的存储库。

            MyVideos = 14,

            //

            // 摘要:

            //     用于物理上存储桌面上的文件对象的目录。

            DesktopDirectory = 16,

            //

            // 摘要:

            //     “我的电脑”文件夹。

            MyComputer = 17,

            //

            // 摘要:

            //     文件系统目录,包含“网上邻居”虚拟文件夹中可能存在的链接对象。

            NetworkShortcuts = 19,

            //

            // 摘要:

            //     包含字体的虚拟文件夹。

            Fonts = 20,

            //

            // 摘要:

            //     用作文档模板的公共储存库的目录。

            Templates = 21,

            //

            // 摘要:

            //     文件系统目录,包含在所有用户的“开始”菜单上都出现的程序和文件夹。此特殊文件夹仅对 Windows NT 系统有效。

            CommonStartMenu = 22,

            //

            // 摘要:

            //     存放多个应用程序共享的组件的文件夹。此特殊文件夹仅对 Windows NT、Windows 2000 和 Windows XP 系统有效。

            CommonPrograms = 23,

            //

            // 摘要:

            //     文件系统目录,包含在所有用户的“启动”文件夹中都出现的程序。此特殊文件夹仅对 Windows NT 系统有效。

            CommonStartup = 24,

            //

            // 摘要:

            //     文件系统目录,包含在所有用户桌面上出现的文件和文件夹。此特殊文件夹仅对 Windows NT 系统有效。

            CommonDesktopDirectory = 25,

            //

            // 摘要:

            //     目录,它用作当前漫游用户的应用程序特定数据的公共储存库。

            ApplicationData = 26,

            //

            // 摘要:

            //     文件系统目录,包含“打印机”虚拟文件夹中可能存在的链接对象。

            PrinterShortcuts = 27,

            //

            // 摘要:

            //     目录,它用作当前非漫游用户使用的应用程序特定数据的公共储存库。

            LocalApplicationData = 28,

            //

            // 摘要:

            //     用作 Internet 临时文件的公共储存库的目录。

            InternetCache = 32,

            //

            // 摘要:

            //     用作 Internet Cookie 的公共储存库的目录。

            Cookies = 33,

            //

            // 摘要:

            //     用作 Internet 历史记录项的公共储存库的目录。

            History = 34,

            //

            // 摘要:

            //     目录,它用作所有用户使用的应用程序特定数据的公共储存库。

            CommonApplicationData = 35,

            //

            // 摘要:

            //     Windows 目录或 SYSROOT。它与 %windir% 或 %SYSTEMROOT% 环境变量相对应。

            Windows = 36,

            //

            // 摘要:

            //     “System”目录。

            System = 37,

            //

            // 摘要:

            //     “Program files”目录。

            ProgramFiles = 38,

            //

            // 摘要:

            //     “我的图片”文件夹。

            MyPictures = 39,

            //

            // 摘要:

            //     用户的配置文件文件夹。应用程序不应在此级别上创建文件或文件夹;它们应将其数据放在 System.Environment.SpecialFolder.ApplicationData

            //     所引用的位置之下。

            UserProfile = 40,

            //

            // 摘要:

            //     Windows“System”文件夹。

            SystemX86 = 41,

            //

            // 摘要:

            //     “Program Files”文件夹。

            ProgramFilesX86 = 42,

            //

            // 摘要:

            //     用于应用程序间共享的组件的目录。

            CommonProgramFiles = 43,

            //

            // 摘要:

            //     “Program Files”文件夹。

            CommonProgramFilesX86 = 44,

            //

            // 摘要:

            //     文件系统目录,包含所有用户都可以使用的模板。此特殊文件夹仅对 Windows NT 系统有效。

            CommonTemplates = 45,

            //

            // 摘要:

            //     文件系统目录,包含所有用户共有的文档。此特殊文件夹仅对装有 Shfolder.dll 的 Windows NT 系统、Windows 95 和 Windows

            //     98 系统有效。

            CommonDocuments = 46,

            //

            // 摘要:

            //     文件系统目录,包含计算机所有用户的管理工具。

            CommonAdminTools = 47,

            //

            // 摘要:

            //     文件系统目录,用于存储各个用户的管理工具。Microsoft Management Console (MMC) 会将自定义的控制台保存在此目录中,并且此目录将随用户一起漫游。

            AdminTools = 48,

            //

            // 摘要:

            //     文件系统目录,充当所有用户共有的音乐文件的存储库。

            CommonMusic = 53,

            //

            // 摘要:

            //     文件系统目录,充当所有用户共有的图像文件的存储库。

            CommonPictures = 54,

            //

            // 摘要:

            //     文件系统目录,充当所有用户共有的视频文件的存储库。

            CommonVideos = 55,

            //

            // 摘要:

            //     文件系统目录,包含资源数据。

            Resources = 56,

            //

            // 摘要:

            //     文件系统目录,包含本地化资源数据。

            LocalizedResources = 57,

            //

            // 摘要:

            //     为了实现向后兼容,Windows Vista 中可以识别此值,但该特殊文件夹本身已不再使用。

            CommonOemLinks = 58,

            //

            // 摘要:

            //     文件系统目录,充当等待写入 CD 的文件的临时区域。

            CDBurning = 59,

        }


 


转自:http://blog.csdn.net/csethcrm/article/details/6163431


using Microsoft.Win32;

namespace JPGCompact

{

    public partial class MainForm : Form

    {

        private void Test()

        {

            RegistryKey folders;

            folders = OpenRegistryPath(Registry.CurrentUser, @"/software/microsoft/windows/currentversion/explorer/shell folders");

            // Windows用户桌面路径

            string desktopPath = folders.GetValue("Desktop").ToString();

            // Windows用户字体目录路径

            string fontsPath = folders.GetValue("Fonts").ToString();

            // Windows用户网络邻居路径

            string nethoodPath = folders.GetValue("Nethood").ToString();

            // Windows用户我的文档路径

            string personalPath = folders.GetValue("Personal").ToString();

            // Windows用户开始菜单程序路径

            string programsPath = folders.GetValue("Programs").ToString();

            // Windows用户存放用户最近访问文档快捷方式的目录路径

            string recentPath = folders.GetValue("Recent").ToString();

            // Windows用户发送到目录路径

            string sendtoPath = folders.GetValue("Sendto").ToString();

            // Windows用户开始菜单目录路径

            string startmenuPath = folders.GetValue("Startmenu").ToString();

            // Windows用户开始菜单启动项目录路径

            string startupPath = folders.GetValue("Startup").ToString();

            // Windows用户收藏夹目录路径

            string favoritesPath = folders.GetValue("Favorites").ToString();

            // Windows用户网页历史目录路径

            string historyPath = folders.GetValue("History").ToString();

            // Windows用户Cookies目录路径

            string cookiesPath = folders.GetValue("Cookies").ToString();

            // Windows用户Cache目录路径

            string cachePath = folders.GetValue("Cache").ToString();

            // Windows用户应用程式数据目录路径

            string appdataPath = folders.GetValue("Appdata").ToString();

            // Windows用户打印目录路径

            string printhoodPath = folders.GetValue("Printhood").ToString();

        }


        private RegistryKey OpenRegistryPath(RegistryKey root, string s)

        {

            s = s.Remove(0, 1) + @"/";

            while (s.IndexOf(@"/") != -1)

            {

                root = root.OpenSubKey(s.Substring(0, s.IndexOf(@"/")));

                s = s.Remove(0, s.IndexOf(@"/") + 1);

            }

            return root;

        }

    }

}

 


 

评论:
域名优惠
2013-05-26 07:44 回复
暂时还用不上。
发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容