我对获取版本信息不感兴趣。我要做的就是确保我的应用程序只能在合法版本的 Windows 上运行,而不是在盗版版本上运行。Windows 使用一些技巧来确定这一点,但仍然允许盗版版本继续运行,尽管有一些限制。
那么,有没有办法检查应用程序是否安装在合法的正版 Windows 版本上?(Vista 和更好,至少。)
让我澄清一下:微软并没有阻止用户使用未经验证或非法的操作系统版本。因此,我也没有任何理由在这样的版本上阻止我的应用程序。但我确实希望我的应用程序知道非法版本并警告用户他的 Windows 版本没有经过验证。也许他忘记了,也许他不想证实。这可能有很多原因,我不想阻止他们,只是让他们意识到他们的 Windows 版本存在问题。
此外,当有人使用无效版本的 Windows 时,如果它是商业产品,我可能想要对我自己的软件进行更严格的验证检查。在我的免费产品中,我只想要一个烦人的弹出窗口,它每天只会出现一次。
未经验证的 Windows 版本的主要问题是它们可能包含其他间谍软件和其他恶意软件,并且它们有可能无法获得所有必需的更新。这些 Windows 版本的保护比经过验证的 Windows 版本更弱。由于我的几个应用程序使用敏感数据,我不希望任何恶意软件泄露这些敏感数据。
另外,我认为盗版软件对任何免费替代品都是有害的。如果不是所有那些四处漫游的盗版 Windows 版本,Linux 和 FreeBSD 会更受欢迎。使用盗版软件的人不太可能一开始就购买该产品,但我希望他们使用免费的替代品。盗版软件对微软有一点伤害,但对免费社区的伤害更大,因为它让人们与那些商业产品保持联系......