我试图在我的C#应用程序中检测Windows 7,Windows 8 / Windows 8.1和Windows 10之间的区别。我试图通过
来确定这一点 HKLM\Software\Microsoft\WindowsNT\CurrentVersion\ProductName
因为我可以检查这个值是否包含" Windows 7"," Windows 8"或" Windows 10"可靠。
我的问题:是Windows使用其他语言包时本地化的ProductName注册表值?这是否会以英语可靠地返回上述值,还是会根据操作系统语言进行更改?
在我因为没有使用其他方法确定每个人都喜欢推荐的操作系统而受到重视之前...使用OSVersion已经出局,因为它并不总是返回正确的值。此外,GetVersion and GetVersionEx也不是一个选项,因为在Windows 8.1之后不推荐使用Version Helper functions,他们错误地将Windows 10标识为Windows 8.建议的update method假定替换这些方法在C#中不可用。如果有人知道另一种可靠的方法来确定这些操作系统之间的区别,请告诉我。
答案 0 :(得分:2)
Windows 10企业版(企业版)中文:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName = Windows 10 Enterprise
表明该值未本地化。