我使用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")
或getenv("=C:")
返回null。
您能否提供此“功能”的正确文档,例如getenv()
getenv()
会忽略此类字符串以及应该如何处理这些值?
向我们显示代码。 – Nick
@Nick所有你需要做的就是调用'GetEnvironmentStrings()' –
我想我想检查他在做什么与返回值,以获得提供的字符串。另外 - 你假设我有一台Windows PC :) – Nick