You may be getting the wrong environment variable. If your application is a 32-bit application running on a 64-bit OS the process version of this environment variable will return x86. If you want to find the architecture of the machine, you can grab it from the following registry entry:
HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession ManagerEnvironmentPROCESSOR_ARCHITECTURE
Or if you're using .NET, then you can use this call to get it:
string arch = System.Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE",
EnvironmentVariableTarget.Machine);
From the command line you can try this:
reg query "HKLMSystemCurrentControlSetControlSession ManagerEnvironment" /v PROCESSOR_ARCHITECTURE
There is even a more simple solution using cmd
:
ECHO %PROCESSOR_ARCHITECTURE%
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…