如何使用perl在Windows 10上获取OSVersion
我一直在使用Win32::GetOSVersion()perl函数来获取目标操作系统的版本。但是,此API调用仅支持Windows Server 2012 是否有其他方法/途径可以在Windows 10上获得操作系统版本?模块使用如何使用perl在Windows 10上获取OSVersion,perl,winapi,windows-10,Perl,Winapi,Windows 10,我一直在使用Win32::GetOSVersion()perl函数来获取目标操作系统的版本。但是,此API调用仅支持Windows Server 2012 是否有其他方法/途径可以在Windows 10上获得操作系统版本?模块使用GetVersionExA(请参阅)并根据msdn: 在Windows 8.1和Windows 10中,GetVersion和GetVersionEx 函数已被弃用。在Windows 10中,VerifyVersionInfo 函数也已被弃用。你还可以打电话给 不推荐
GetVersionExA
(请参阅)并根据msdn:
在Windows 8.1和Windows 10中,GetVersion和GetVersionEx
函数已被弃用。在Windows 10中,VerifyVersionInfo
函数也已被弃用。你还可以打电话给
不推荐使用的函数,如果您的应用程序不是专门针对
Windows 8.1或Windows 10,您将获得Windows 8版本(6.2.0.0)
资料来源:
另见:
如果您要修复它,请打开一个请求:)还有一些其他方法可以获取原始数据,然后您可以解析这些数据以适合您的应用程序,例如
#!/usr/bin/perl
use strict;
use warnings;
my $ver = `ver`;
print "output of ver command: $ver\n";
my $reg = `reg query "HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion" /v "ProductName"`;
# alternatively query for 'CurrentVersion' rather than 'ProductName' above
print "output of registry query: $reg\n";
这根本没有解决这个问题(“还有其他方法吗…”)。做一些网络搜索。这个问题已经被问了无数次了。
#!/usr/bin/perl
use strict;
use warnings;
my $ver = `ver`;
print "output of ver command: $ver\n";
my $reg = `reg query "HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion" /v "ProductName"`;
# alternatively query for 'CurrentVersion' rather than 'ProductName' above
print "output of registry query: $reg\n";