
Простой парсер файлов 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); }
}
}