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