=波波日志 > Asp.Net/C#/WCF > C#获取系统特殊目录的完整路径=

[转]C#获取系统特殊目录的完整路径

+展开
-C#
using System;
using Microsoft.Win32;
namespace SystemPathsApp
{
  /// <summary>
  /// Summary description for SystemPaths.
  /// </summary>
  public class SystemPaths
  {
     /// <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");}
     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;
     }
  }
}
类别:Asp.Net/C#/WCF 作者:转载 日期:2012-02-18 【评论:0】 
 
暂时没有评论!
发表留言
  • *昵称:
  • 头像:
  • 电子邮件: [留下您的邮件,方便管理员回复您。]
  • 个人网站: *验证码:
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!
Powered by showbo,©2012,桂ICP备05005887号 京公网安备1101055090