C# Windows RT上Environment.GetEnvironmentVariable(“处理器体系结构”)和OperatingSystem.Platform的输出

C# Windows RT上Environment.GetEnvironmentVariable(“处理器体系结构”)和OperatingSystem.Platform的输出,c#,windows-8,cross-platform,arm,cpu-architecture,C#,Windows 8,Cross Platform,Arm,Cpu Architecture,我正在编写一个跨平台的应用程序,我真的需要一些关于这个系统的基本信息。 不仅仅是为了切换它(我可以使用编译变量,因为我在特定于平台的项目中链接了相同的代码) 所以不要告诉我了解平台和架构信息是无用的: 有人能给我提供这些信息吗,因为我自己没有任何简单的方法来获取(我没有模拟器/设备可以使用,我使用的是安装了linux的上网本,所以没有VT-d功能等等) 请避免张贴诸如“使用QEMU,使用XXX,YYYY”等。考虑到有人也在寻找这个信息。 表面RT 的“SET”输出 ALLUSERSPROFIL

我正在编写一个跨平台的应用程序,我真的需要一些关于这个系统的基本信息。 不仅仅是为了切换它(我可以使用编译变量,因为我在特定于平台的项目中链接了相同的代码)

所以不要告诉我了解平台和架构信息是无用的:

有人能给我提供这些信息吗,因为我自己没有任何简单的方法来获取(我没有模拟器/设备可以使用,我使用的是安装了linux的上网本,所以没有VT-d功能等等)


请避免张贴诸如“使用QEMU,使用XXX,YYYY”等。考虑到有人也在寻找这个信息。

表面RT

的“SET”输出 ALLUSERSPROFILE=C:\ProgramData APPDATA=C:\Users\[user]\AppData\Roaming CommonProgramFiles=C:\Program Files\Common Files COMPUTERNAME=SURFACE ComSpec=C:\windows\system32\cmd.exe FP_NO_HOST_CHECK=NO HOMEDRIVE=C: HOMEPATH=\Users\ LOCALAPPDATA=C:\Users\[user]\AppData\Local LOGONSERVER=\\MicrosoftAccount NUMBER_OF_PROCESSORS=4 OS=Windows_NT Path=C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\ PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC PROCESSOR_ARCHITECTURE=ARM PROCESSOR_IDENTIFIER=ARM Family 7 Model C09 Revision 209, NVIDIA PROCESSOR_LEVEL=3081 PROCESSOR_REVISION=0209 ProgramData=C:\ProgramData ProgramFiles=C:\Program Files PROMPT=$P$G PSModulePath=C:\windows\system32\WindowsPowerShell\v1.0\Modules\ PUBLIC=C:\Users\Public SESSIONNAME=Console SystemDrive=C: SystemRoot=C:\windows TEMP=C:\Users\[user]\AppData\Local\Temp TMP=C:\Users\[user]\AppData\Local\Temp USERDOMAIN=SURFACE USERDOMAIN_ROAMINGPROFILE=SURFACE USERNAME= USERPROFILE=C:\Users\[user] windir=C:\windows ALLUSERSPROFILE=C:\ProgramData APPDATA=C:\Users\[user]\APPDATA\Roaming CommonProgramFiles=C:\Program Files\Common Files 计算机名=曲面 ComSpec=C:\windows\system32\cmd.exe FP\u否\u主机\u检查=否 HOMEDRIVE=C: HOMEPATH=\Users\ LOCALAPPDATA=C:\Users\[user]\AppData\Local LOGONSERVER=\\MicrosoftAccount 处理器的数量=4 OS=Windows\u NT Path=C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\ PATHEXT=.COM;。EXE;。蝙蝠;。CMD;。VBS;。VBE;。JS;。JSE;。WSF;。WSH;。移动交换中心 处理器体系结构=ARM 处理器标识=ARM系列7型号C09 209版,NVIDIA 处理器\u级别=3081 处理器\u版本=0209 ProgramData=C:\ProgramData ProgramFiles=C:\ProgramFiles PROMPT=$P$G PSModulePath=C:\windows\system32\WindowsPowerShell\v1.0\Modules\ PUBLIC=C:\Users\PUBLIC SESSIONNAME=控制台 SystemDrive=C: SystemRoot=C:\windows TEMP=C:\Users\[user]\AppData\Local\TEMP TMP=C:\Users\[user]\AppData\Local\Temp 用户域=表面 USERDOMAIN_ROAMINGPROFILE=曲面 用户名= USERPROFILE=C:\Users\[user] windir=C:\windows 好的,平台值是:

PS C:\Users\[user]> [system.environment]::OSVersion.Platform Win32NT PS C:\Users\[user]>[system.environment]::OSVersion.Platform Win32NT
请注意,这是从桌面。对于沉浸式/metro应用程序,您可能需要不同的api。

WinRT应用程序中没有这两种方法。为什么?我认为“cmd/C set&&pause”应该可以在WindowsRT上使用。至于Environment.OSVersion.Platform.ToString()输出,您只需创建一个Windows 8应用程序并在UI上显示上面的字符串。@Salaros
Environment.OSVersion
GetEnvironmentVariable
对于Windows应用商店应用程序不存在,句号。将应用程序放到RT上的唯一方法是通过Windows应用商店,因此您不能使用这些API。请小心使用与RT相关的标记。.NET for Windows应用商店应用子集中的环境类不包含OSVersion属性,也不包含GetEnvironmentVariable(string)方法。WinRT应用程序只能使用以下页面上绿色“bag”图标指定的属性和方法:非常感谢!那么Environment.OSVersion.Platform呢。您是否有任何更改以向我提供其输出?(我知道我的要求太高了,因为我想你需要一台x86/x86_64电脑,至少有VS2012 Express)。感谢OSVersion。平台输出:D我将对此进行更多调查(在Windows 8应用商店应用程序中,你似乎无法从c访问该信息)