三个相关函数
- ExpandEnvironmentStrings
按照当前用户的环境变量展开路径中的环境变量(将路劲中的环境变量展开成标准路径)。
- ExpandEnvironmentStringsForUser
按照指定用户的环境变量展开路径中的环境变量。
- PathUnExpandEnvStrings
与上面两个函数的功能相反,是将路径中的某些部分替换成环境变量。
ExpandEnvironmentStrings的例子
#include <iostream>
#include <Windows.h>
int main()
{
DWORD cch;
char output[MAX_PATH];
cch = ExpandEnvironmentStringsA("%SystemRoot%\\system32\\shell32.dll", output, MAX_PATH);
std::cout << output << std::endl << "ouput TCHARS:" << cch << std::endl;
//当输入字符串不包含环境变量,就直接拷贝字符串到输出缓冲区,返回值为输出字符数,和上面的情况相同
cch = ExpandEnvironmentStringsA("C:\\WINDOWS\\SYSTEM32\\shell32.dll", output, MAX_PATH);
std::cout << output << std::endl << "ouput TCHARS:" << cch << std::endl;
return 0;
}
运行后如下图

发表回复