文件的长路径如何转换为短路径(dos格式)???
如:C:\Program Files 转换为 C:\Progra~1
直接用.Net类库的方法,可有?

解决方案 »

  1.   

    ...
    using System.Runtime.InteropServices;定义:
    [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
    public static extern int GetShortPathName(
    [MarshalAs(UnmanagedType.LPTStr)]
    string path,
    [MarshalAs(UnmanagedType.LPTStr)]
    StringBuilder shortPath,
    int shortPathLength);引用:
    StringBuilder shortPath = new StringBuilder(80);
    int result = GetShortPathName(
    @"F:\1234567891.jpg", shortPath, shortPath.Capacity);
    string s = shortPath.ToString();
    MessageBox.Show(s.ToString());结果:
    F:\123456~1.jpg
      

  2.   

    楼上的厉害,不知用dos下路径干吗