Verknüpfungsdatei (.lnk) - Ziel auslesen…
13. Dezember 2007 von Jürgen
Da ich z.Zt. meine Zeit damit totschlage zu versuchen einen Application Launcher (”StartBar”) zu schreiben, der sich in die Taskleiste einbettet (genau so wie die Start-Schaltfläche) oder eigene “Symbolleisten” und zum “razzeschnellen” starten von den Programmen, die ich am häufigsten nutze dienen soll. Die Wartung der “bekannten” Programme soll per Drag-n-Drop auf die Schaltfläche funktionieren, dafür möchte ich jedoch auch Shortcuts (Verknüpfungen) droppen können, welche ich dann halt entsprechend “auslesen” muss um zur entsprechenden Applikation zu finden.
#using System.IO.Path;
public string GetShortcutTargetFile(string shortcutFilename)
{
string pathOnly = GetDirectoryName(shortcutFilename);
string filenameOnly = GetFileName(shortcutFilename);
Shell32.Shell shell = new Shell32.ShellClass();
Shell32.Folder folder = shell.NameSpace(pathOnly);
Shell32.FolderItem folderItem = folder.ParseName(filenameOnly);
if (folderItem != null)
{
Shell32.ShellLinkObject link =
(Shell32.ShellLinkObject)folderItem.GetLink;
return link.Path;
}
return ""; // not found
}
Wie genau das mit .NET Hilfsmitteln in C# funktioniert ist in diesem Blog bestens beschrieben.
Dorthin gefunden hab ich über diese Page, auf welche ich wiederum über diese Google-Suche gekommen bin.
