【发布时间】:2013-01-28 22:00:33
【问题描述】:
所以事情是这样的... 我正在制作一个小应用程序,它应该能够在用户桌面上列出所有内容 - 包括快捷方式。
所以我这样做了:
string filepath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
DirectoryInfo d = new DirectoryInfo(filepath);
foreach (var file in d.GetFiles())
{
Console.WriteLine(file.Name);
}
这给了我以下信息:
Spotify.lnk
Desktop.ini
但在我的桌面上我可以看到这些:
Spotify.lnk
Desktop.ini
Microsoft Office 2010
VLC Media Player
所以我尝试从 Win32_ShortcutFile 中提取一些 WMI 信息,但没有任何运气。 (它列出了我在桌面上没有的东西,比如 Windows Live。)
所以现在我有点不知所措......
我希望这有任何意义!
任何指向正确方向的指针都会很棒!
干杯。
编辑:我忘了提到 - 目标节点是 Windows Server 2008 SP1 机器。
编辑:我还忘了提到我已经在桌面上检查文件夹了。
【问题讨论】:
-
您也需要检查文件夹。
-
是的,很抱歉忘记提及 - 我也实施了该检查。
-
您还需要检查公共用户(或 XP 中的所有用户)桌面上的项目。
-
我认为在 XP 中您需要手动添加 All Users/Desktop 文件夹。
-
并非用户桌面上的所有内容都表示为文件系统上的文件或目录。你也想要“虚拟”文件,比如回收站吗?