[英]How can I access the Recent Places list in Windows 7 using C#
Windows 7 在资源管理器中引入了一个最近的地方特殊文件夹,它向您显示最近访问的文件夹。 该文件夹仅包括文件夹,即不包括文件。
这与Environment.SpecialFolder.Recent
文件夹不同,据我所知, CSIDL和KNOWNFOLDER都没有列出“Recent Places”文件夹。
如何使用 C# 获取“Recent Places”特殊文件夹的内容?
由于似乎没有任何直接访问此“虚拟文件夹”的权限,因此我使用了一种解决方法。
string[] GetRecentPlaces()
{
var places = new List<string>();
foreach (var lnk in Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.Recent), "*.lnk"))
{
var path = LinkHelper.ResolveShortcut(lnk);
if (Directory.Exists(path))
{
places.Add(path);
}
}
return places.ToArray();
}
LinkHelper
取自这个答案: How to resolve a.lnk in C#
编辑:从使用文件属性更改为 Directory.Exists 作为 FileAttribute.Directory 标志似乎并不总是正确设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.