用C#开发播放MP3的时候,调用这个API函数getshortpathname,如果是短路径或者路径名中间没空格的时候就正常播放,但是如果是长路径比如:C:\Program Files\MESUI\prodtest\Music 这样的路径返回是一个这样的C:\PROGRA~1\MESUI\prodtest\Music\路径。
///声明这个函数
[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(255);
int result = GetShortPathName(name, shortpath, shortpath.Capacity);
string ShortPath = shortpath.ToString();//C:\PROGRA~1\MESUI\prodtest\Music\
呵呵,各位园友能不能解决一下啊,多谢啦!!!