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