有如下函数:
private function longtoshort(inspec) as string
  dim i
  dim shortspec as string
  dim mbuffer as string
  dim mbuflen as string
  mbuflen = 164
  mbuffer = string(mbuflen,0)
  i = getshortpathname(inspec,mbuffer,mbuflen)
  longtoshort = left(mbuffer,i)
end function但i = getshortpathname(inspec,mbuffer,mbuflen) '得到的是8.3制短路径的长度,这里一个中文字符占2位。longtoshort = left(mbuffer,i)'按上面所得的路径长度取的最终短路径,这里的中文字符却和英文字母一样只占1位。
所以前后的不一致,从而导致含有中文的路径变成短路径时就会在后面多出相应数量的空字符。
比如:"C:\Documents and Settings\Administrator\桌面"就成了"C:\DOCUME~1\ADMINI~1\桌面__" “_”为一个空字符。请问此问题怎么解决?