我无法找到如何确定可移动/从属驱动器上安装的Windows版本。在我的搜索中,我发现了DriveInfo类,它有一些简洁的东西,但是如果驱动器有XP或Vista或更高版本,我不会告诉我(我需要知道这个,因为它们有不同的目录结构,我想自动化备份数据的过程。)
我是否必须以某种方式访问该驱动器的注册表?我希望尽可能避免这种情况,因为它很复杂,并且在一天结束时我只想做一些像(糟糕的伪代码):
如果是drive.has(XP)那么
否则
结束如果
非常感谢任何帮助。谢谢。
答案 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