C# 从特定路径获取扩展名为.lnk的所有文件,并用其名称打开它们
我想获取从“开始”菜单到数组的所有.lnk文件路径,并用它们的名称打开它们。我写了一些类似的东西,但根本不起作用。有什么想法吗C# 从特定路径获取扩展名为.lnk的所有文件,并用其名称打开它们,c#,wpf,visual-studio,wpf-controls,C#,Wpf,Visual Studio,Wpf Controls,我想获取从“开始”菜单到数组的所有.lnk文件路径,并用它们的名称打开它们。我写了一些类似的东西,但根本不起作用。有什么想法吗 string path = @"C:\ProgramData\Microsoft\Windows\Start Menu\"; string[] lnks = Directory.GetFiles(path, "*.lnk"); foreach (var lnk in lnks) { if (lnk.Contains(bgData[1])) {
string path = @"C:\ProgramData\Microsoft\Windows\Start Menu\";
string[] lnks = Directory.GetFiles(path, "*.lnk");
foreach (var lnk in lnks)
{
if (lnk.Contains(bgData[1]))
{
Process.Start(lnk);
Hide();
break;
}
}
代码使用文本框中的第一个字符串触发,然后需要第二个字符串来获取.lnk文件的名称 你能更清楚一点什么不起作用吗?与你想看到的相比,到底发生了什么?使用
Directory.GetFiles()
也不会搜索子目录,除非您添加System.IO.SearchOption.AllDirectories
的第三个参数并像这样使用:string[]lnks=Directory.GetFiles(路径,*.lnk”,System.IO.SearchOption.AllDirectories)代码>当我添加System.IO.SearchOption.AllDirectories
时,它工作正常,但现在我得到一个错误:在mscorlib.dll中发生了类型为“System.UnauthorizedAccessException”的未经处理的异常
无法访问开始菜单\程序运行应用程序的用户需要访问您试图访问的文件。确保文件读取权限设置正确。