=波波日志 > 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;
}
}
}
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】
相关文章
暂时没有评论!
发表留言
热门博文
- IE里Cookie跨域不能读取
- web服务因URL意外地以/**结束,请求格式无法识别
- 去掉隐藏asp.net编译出错aspxerrorpath错误参数
- 解决asp.net验证视图状态 MAC 失败
- 找不到System.Web.Script.Services.ScriptService
- 在aspx,ashx页面挂起线程执行
最新博文
- WCF授权-通过扩展自行实现服务授权
- WCF授权-ASP.NET Roles授权[下篇]
- WCF授权-ASP.NET Roles授权[上篇]
- WCF授权-模拟在WCF中的应用
- WCF授权-模拟(Impersonation)与委托(Delegation)
- WCF授权-基于Windows用户组授权[下篇]
随机博文
- 9.5 使用存储过程
- C#多线程如何共享数据
- WCF服务代理不及时关闭会有什么后果
- 8.3 数据列表控件(DataList)
- App_Offline.htm在asp.net站点中作用
- 一步一步教你使用.net进行Socket通信1
广告商赞助

