GetShortPathName当处理的路径包含系统环境变量时提示找不到该文件
使用com接口分析文件路径,当tszOriginPath路径为%windir%\system32\notepad.exe之类的包含系统环境变量时,使用GetShortPathName(tszOriginPath, tszOriginPathShort, MAX_PATH)就不能得到短路径了,请问有没有什么办法解决
难道需要人工先分析下原始路径,将系统环境变量替换掉?如果要做,不知有没有高手支支招
[解决办法]
俺的是cb6,还是最好明确ExpandEnvironmentStringsA
char* tszOriginPath = "%windir%\\system32\\notepad.exe";
char buf[MAX_PATH] = {'/0'};
ExpandEnvironmentStringsA(tszOriginPath, buf, MAX_PATH);