Как вытянуть путь к файлу из ярлыка ? на C# (парсер lnk)

Простой парсер файлов lnk на C#. Вытягивает данные из lnk файлов лежащих в папке в Listbox.

       using IWshRuntimeLibrary;
...        

                DirectoryInfo dir = new DirectoryInfo(folderName);
                DirectoryInfo[] dirs = dir.GetDirectories();

                FileInfo[] files = dir.GetFiles();
                /////////////////перебираем все файлы с расширением lnk
                foreach (FileInfo file in files)
                {
                    if (file.Extension == ".lnk")
                    {
                        string path = Path.Combine(folderName, file.Name);
                        FileInfo fi = new FileInfo(path);

                        IWshShell shell = new WshShell();
                        try
                        {
                            var lnk = shell.CreateShortcut(fi.FullName) as IWshShortcut;
                            if (lnk != null)
                            {
                                listBox1.Items.Add(lnk.FullName);
                                listBox1.Items.Add(lnk.TargetPath);
                                listBox1.Items.Add(lnk.WorkingDirectory);
                                listBox1.Items.Add(lnk.Description);
                            }
                        }
                        catch { MessageBox.Show("Ошибка " + fi.FullName); }
                    }
                }

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *