上述函数分别将文件全路径字符串转换为不缩写的全路径和缩写的全路径字符串。
这两个函数极其重要!!!很多人写程序时不注意这一点——包括我,比如,使用GetModuleFileName获取文件路径,我们一般都将获取到的路径直接拿来用。在99.9%的情况下,我们获取到的是没有缩写的全路径,但是,某些情况下,获取到的却是缩写的,例如,
C:\Prog~1\Comm~1\aaa~1.exe
如果这个时候,取进程的名称,将得到aaa~1.exe,很明显,这种结果是我们所不愿意看到的,它会导致很严重的问题,而这种错误又是极其难以查找的。
所以,个人认为,在获取文件全路径后,都应该调用GetLongPathName,以便保证得到的路径不是缩写形式。