| 网站镜像:电信 网通 | 加入收藏 | 设为首页

使用C#返回系统特殊路径

  • using System;
    using Microsoft.Win32;

    namespace SystemPathsApp
    {
    /// <summary>
    /// Summary description for SystemPaths.
    /// </summary>
    public class SystemPaths
    {
    public SystemPaths()
    {
    //
    // TODO: Add constructor logic here
    //
    folders = OpenRegistryPath(Registry.CurrentUser,@"\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders");
    }

    private RegistryKey folders;

    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;
    }

    /// <summary>
    /// </summary>
    /// <param name="path">
    /// Desktop 桌面目录
    /// Fonts 字体目录
    /// NetHood 网上邻居
    /// Personal 我的文档目录
    /// Programs 开始菜单程序目录
    /// Recent 存放用户最近访问文件快捷方式的目录
    /// SendTo 发送到目录
    /// StartMenu 开始菜单目录
    /// Startup 开始菜单启动项目录
    /// Favorites 收藏夹目录
    /// History 网页历史目录
    /// Cookies cookies目录
    /// Cache 缓存目录
    /// AppData 应用程序数据目录
    /// PrintHood 打印目录
    /// </param>
    /// <returns></returns>
    public string Customize(string path)
    {
    return folders.GetValue(path).ToString();
    }

    public string Desktop()
    {
    return Customize("Desktop");
    }

    public string Cookies()
    {
    return Customize("Cookies");
    }

    public string MyDocuments()
    {
    return Customize("Personal");

    }

    public string History()
    {
    return Customize("History");
    }

    public string Favorites()
    {
    return Customize("Favorites");
    }

    }
    }