Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从特定路径获取扩展名为.lnk的所有文件,并用其名称打开它们_C#_Wpf_Visual Studio_Wpf Controls - Fatal编程技术网

C# 从特定路径获取扩展名为.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])) {

我想获取从“开始”菜单到数组的所有.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]))
    { 
        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”的未经处理的异常
无法访问开始菜单\程序运行应用程序的用户需要访问您试图访问的文件。确保文件读取权限设置正确。