编程语言
首页 > 编程语言> > .NET C#获取指定长路径的短路径方式

.NET C#获取指定长路径的短路径方式

作者:互联网

直接上代码。

using System.Runtime.InteropServices;

[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        public static extern int GetShortPathName(
         [MarshalAs(UnmanagedType.LPTStr)] string path,
         [MarshalAs(UnmanagedType.LPTStr)] StringBuilder short_path,
         int short_len
         );

        /// <summary>
        /// 返回指定长路径的短路径,要求该路径必须在电脑中存在
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public static string GetShortPath(string name)
        {
            int length = 0;
            length = GetShortPathName(name, null, 0);
            if (length == 0)
            {
                return name;
            }
            StringBuilder short_name = new StringBuilder(length);
            length = GetShortPathName(name, short_name, length);
            if (length == 0)
            {
                return name;
            }
            return short_name.ToString();
        }

调用方式,直接调用GetShortPath方法即可

 

标签:short,return,name,C#,GetShortPathName,路径,length,NET
来源: https://www.cnblogs.com/jeff151013/p/16081650.html