ファイルを作成する必要があり、ファイルへのパスには、実際にはショートカットであるフォルダーが含まれています。
例:
D:\SQL Backups\LocumsExcite_04-Sep-2013 16-36-59-135.bak
SQL Backups
フォルダはドライブ内のショートカットですD:
。ショートカットはC:\Users\Administrator\Dropbox\SQL Backups\
フォルダに移動します
どこでもシェルの例を見ましたが、うまくいきません。
public static string GetShortcutTarget(string shortcutFilename)
{
string pathOnly = System.IO.Path.GetDirectoryName(shortcutFilename);
string filenameOnly = System.IO.Path.GetFileName(shortcutFilename);
Shell32.Shell shell = new Shell32.ShellClass();
Shell32.Folder folder = shell.NameSpace(pathOnly);
Shell32.FolderItem folderItem = folder.ParseName(filenameOnly);
if (folderItem != null)
{
if (folderItem.IsLink)
{
Shell32.ShellLinkObject link = (Shell32.ShellLinkObject)folderItem.GetLink;
return link.Path;
}
return shortcutFilename;
}
return ""; // not found
}
行shell.NameSpace(pathOnly);
は常に null を返します。助言がありますか?