I use GetEnvironmentString()
获取程序的环境变量。
每个程序的第一个结果都是这样的:
=::=::\
我不知道这是什么意思?
这是代码:
LPWCH lpEnvString=GetEnvironmentStringsW();
LPWSTR lpszVariable=(LPWSTR)lpEnvString;
while (*lpszVariable)
{
wprintf(L"%s\n",lpszVariable);
lpszVariable+=wcslen(lpszVariable)+1;
}
FreeEnvironmentStringsW(lpEnvString);
另外,如果我们开始列出这些变量,我们会看到如下内容:
=::=::\
=C:=C:\Users\username\value
=ExitCode=00000001
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\artik\AppData\Roaming
CommonProgramFiles=C:\Program Files (x86)\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
...
另一方面,getenv("=ExitCode")
or getenv("=C:")
返回 NULL。
您能否提供此“功能”的正确文档,
例如getenv()
忽略此类字符串以及应如何处理此类值?
它们是 cmd.exe 模拟 ms-dos 目录处理的遗留物,基本上没有什么用处,而且比任何东西都更古老。本质上,它跟踪每个驱动器的当前目录,并作为环境变量保存以轻松传递给其他进程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)