Silverlight OOBアプリを使用してショートカットファイルからターゲット情報を取得したいので、次のコードをSilverlightOOBで機能させるようにします。Shell32.dllを使用するにはP/Invokeを使用する必要があるようですが、Folder、FolderItem、およびShellLinkObjectをどのように使用できるかわかりません。ほとんどのリファレンスは、P/invokeを使用して.dllの関数を使用する方法を説明しています:(コメントまたはサンプルコード/リンクを教えてください:)
public string GetShortcutTargetFile(string shortcutFilename)
{
string pathOnly = Path.GetDirectoryName(shortcutFilename);
string filenameOnly = Path.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;
MessageBox.Show(link.Path);
return link.Path;
}
return String.Empty; // Not found
}