- [DllImport("shlwapi.dll", CharSet = CharSet.Auto)]
- public static extern bool PathRelativePathTo(
- [Out] StringBuilder pszPath,
- string pszFrom,
- FileAttributes dwAttrFrom,
- string pszTo,
- FileAttributes dwAttrTo
- );
- /// <summary>
- /// 转换绝对路径为相对路径
- /// </summary>
- /// <param name="absolutePath"></param>
- /// <returns></returns>
- public static string Transform(string absolutePath)
- {
- StringBuilder path = new StringBuilder(260);
- PathRelativePathTo(path, AppDomain.CurrentDomain.BaseDirectory, System.IO.FileAttributes.Directory,
- absolutePath, System.IO.FileAttributes.Normal);
- string r = path.ToString();
- if (r.StartsWith(".\"))
- {
- return r.Substring(2);
- }
- return r;
- }
- public static string ToRelativePath(string basePath, string absolutePath)
- {
- StringBuilder path = new StringBuilder(260);
- PathRelativePathTo(path, basePath, FileAttributes.Normal,
- absolutePath, FileAttributes.Normal);
- string r = path.ToString();
- if (r.StartsWith(".\"))
- {
- return r.Substring(2);
- }
- return r;
- }
复制代码 调用Transform这个方法即可!!!!!
|