DirectoryInfo.GetFiles()没有返回桌面上的所有文件(它不包括快捷方式)

时间:2013-11-12 14:45:15

标签: c# .net directoryinfo getfiles

我有一个listBox1,它应该显示我桌面上的所有文件,我使用了以下方法来执行此操作

string filepath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
DirectoryInfo path = new DirectoryInfo(filepath);

foreach (var file in path.GetFiles())
{
    listBox1.Items.Add("File : " + file.Name);
}

它可以工作,但由于某种原因,它不会显示一些快捷方式,它会显示一些快捷方式,但大多数都没有显示。我不知道为什么会发生这种情况

1 个答案:

答案 0 :(得分:6)

您可能错过了“所有用户”桌面中的快捷方式:

string filepath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
DirectoryInfo path = new DirectoryInfo(filepath);

foreach (var file in path.GetFiles())
{
    listBox1.Items.Add("File : " + file.Name);
}

//  Get files in the "common" desktop
filepath = Environment.GetFolderPath(Environment.SpecialFolder.CommonDesktopDirectory);
path = new DirectoryInfo(filepath);

foreach (var file in path.GetFiles())
{
    listBox1.Items.Add("File : " + file.Name);
}

如果有效,您可以重构公共代码。