如何确定可移动驱动器上安装的Windows版本

时间:2014-10-09 01:39:26

标签: .net vb.net windows registry removable-drive

我无法找到如何确定可移动/从属驱动器上安装的Windows版本。在我的搜索中,我发现了DriveInfo类,它有一些简洁的东西,但是如果驱动器有XP或Vista或更高版本,我不会告诉我(我需要知道这个,因为它们有不同的目录结构,我想自动化备份数据的过程。)

我是否必须以某种方式访问​​该驱动器的注册表?我希望尽可能避免这种情况,因为它很复杂,并且在一天结束时我只想做一些像(糟糕的伪代码):

如果是drive.has(XP)那么

否则

结束如果

非常感谢任何帮助。谢谢。

3 个答案:

答案 0 :(得分:2)

来自Is there a way to find out my Windows 7-version without booting?,而不是程序员的方式,而超级用户

  

转到

     

C:\ Windows \ System32下

     

阅读" license.rtf"文件

由于您可以访问可移动磁盘上的所有文件......对吗?现在它是关于使用VB.NET来解析RTF文件。

答案 1 :(得分:2)

MSDN页面"Getting the System Version"

中记录了确定操作系统版本的另一种方法
  

要获取操作系统的完整版本号,请在其中一个系统DLL(如Kernel32.dll)上调用GetFileVersionInfo函数,然后调用VerQueryValue以获取文件版本信息的\ StringFileInfo \\ ProductVersion子块。 / p>

幸运的是,这对于脱机实例以及正在运行的实例都有效。唯一真正的复杂因素是,如果您需要应对系统文件夹被赋予非标准名称的可能性。

答案 2 :(得分:1)

您可以使用regedit来做到这一点。

使用regedit从相关驱动器的注册表中导入软件配置单元。它位于%SYSTEMROOT%\ system32 \ config中。将其导入到哪里(假设为HKEY_LOCAL_MACHINE)或选择的名称都没有关系。 Regedit通常在C:\ Windows中。如有必要,可以从命令提示符启动它。

然后在您导入的配置单元下的键(HKEY_LOCAL_MACHINE // Microsoft / Windows NT / CurrentVersion)中检查版本。

更多信息: https://blog.skullsecurity.org/2010/find-the-windows-version-offline