3

ファイルを作成する必要があり、ファイルへのパスには、実際にはショートカットであるフォルダーが含まれています。

例:

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 を返します。助言がありますか?

4

0 に答える 0