c#.net下对获短路径

来源:互联网 发布:c语言取反运算符 编辑:程序博客网 时间:2024/06/06 00:07

 public static string ToShortPathName(string longName)
  {
   StringBuilder shortNameBuffer = new StringBuilder(256);
   int bufferSize = shortNameBuffer.Capacity;

   int result = GetShortPathName(longName, shortNameBuffer, bufferSize);

   return shortNameBuffer.ToString();
  }
  [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
  public static extern int GetShortPathName([MarshalAs(UnmanagedType.LPTStr)] string path,[MarshalAs(UnmanagedType.LPTStr)] StringBuilder shortPath,int shortPathLength);

************************************

[DllImport("kernel32.dll")]
        static extern uint GetLongPathName(string shortname, StringBuilder   longnamebuff, uint buffersize);

public static string ToLongPathName(string shortName)
        {
            StringBuilder longNameBuffer = new StringBuilder(256);
            uint bufferSize = (uint)longNameBuffer.Capacity;

            GetLongPathName(shortName, longNameBuffer, bufferSize);

            return longNameBuffer.ToString();
        }

原创粉丝点击