在.NET 2.0 C#应用程序中,我使用以下代码来检测操作系统平台:
string os_platform = System.Environment.OSVersion.Platform.ToString();
Run Code Online (Sandbox Code Playgroud)
这将返回"Win32NT".问题是,即使在Windows Vista 64位上运行,它也会返回"Win32NT".
有没有其他方法可以知道正确的平台(32或64位)?
请注意,在Windows 64位上作为32位应用程序运行时,它还应检测64位.
我正在使用:
FileInfo(
System.Environment.GetFolderPath(
System.Environment.SpecialFolder.ProgramFiles)
+ @"\MyInstalledApp"
Run Code Online (Sandbox Code Playgroud)
为了确定是否在用户机器上检测到程序(这不是理想的,但我正在寻找的程序是MS-DOS应用程序的正确旧程序,我想不出另一种方法).
在Windows XP和32位版本的Windows Vista上,这可以正常工作.但是,在x64 Windows Vista上,代码返回x64 Program Files文件夹,而应用程序安装在Program Files x86中.有没有办法以编程方式返回程序文件x86的路径,而无需硬连线"C:\ Program Files(x86)"?
我想知道我目前的操作系统版本是否为Windows Vista类型(可能是32位或64位).有没有办法以编程方式确定?我只需要知道它的Vista.谢谢!