我正在使用GetProductInfo创建一个显示Windows版本字符串的函数,并且在理解有关pdwReturnedProductType
(产品类型)的文档时遇到一些问题。
在Meaning
列中,例如PRODUCT_PROFESSIONAL
表示Windows 10 Pro
,但Windows 7也是如此。
PRODUCT_EDUCATION
说Windows 10 Education
; PRODUCT_CORE
说Windows 10 Home
(依此类推),但这可以适用于其他版本吗?
Windows 10
仅仅是一个例子吗?是否有任何常量只能识别Windows 10 ?
另一个例子是PRODUCT_HOME_PREMIUM_SERVER
,意思是Windows Home Server 2011
。这仅适用于Windows Home Server 2011 ?
答案 0 :(得分:2)
是的,一些含义列是示例。您可以通过查看文档的an older version来验证这一点:
PRODUCT_CORE Windows 8
PRODUCT_HOME_PREMIUM_SERVER
仅适用于2011年(唯一的其他家庭服务器版本是在Premium SKU存在之前的2003 R2)。微软可能会在未来发布另一款家用服务器,但此时似乎不太可能。
GetProductInfo
将版本号作为输入,因为它会尝试映射应用程序发布后创建的较新值:
Windows的后续版本会将其支持的产品类型映射到每个受支持的早期Windows版本支持的产品类型集,并返回到6.0.0.0版。因此,即使添加了新的产品类型,对这些值中的任何一个进行相等性测试的应用程序也将继续适用于将来的版本。