首页 新闻 会员 周边

API 函数 getshortpathname 获取长路径问题

0
悬赏园豆:10 [已关闭问题]

用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\

 

呵呵,各位园友能不能解决一下啊,多谢啦!!!

失落的野火的主页 失落的野火 | 初学一级 | 园豆:66
提问于:2010-07-06 10:09
< >
分享
所有回答(1)
0

http://blog.csdn.net/wxl1986622/article/details/7259871

这个帖子或许能解决你的问题。

使用这样的函数: GetLongPathName

 

ktpd | 园豆:202 (菜鸟二级) | 2017-02-22 17:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册