|
分類:[C#]
現在、C#でショートカット先のフォルダパスを取得するコードを実装しています。 以下のコードを実装し、通常のショートカットパスは取得できるのですが、 環境依存文字?(「♡」など)があるパスだと取得ができません。対策等はありまでしょうか。
------------------------------ // ファイルの拡張子を取得 string extension = Path.GetExtension(file); // ファイルへのショートカットは拡張子".lnk" if (".lnk" == extension) { IWshRuntimeLibrary.WshShell shell = new IWshRuntimeLibrary.WshShell(); // ショートカットオブジェクトの取得 IWshRuntimeLibrary.IWshShortcut shortcut = (IWshRuntimeLibrary.IWshShortcut)shell.CreateShortcut(file);
// ショートカットのリンク先の取得 string targetPath = shortcut.TargetPath.ToString(); } ------------------------------
正しく取得できるパス : C:\\Users\\users\\Pictures\\Camera Roll\\aaa - ショートカット.lnk 正しく取得できないパス: C:\\Users\\users\\Pictures\\Camera Roll\\aaa♡ - ショートカット.lnk
|