Есть ли простой способ получить Windows Edition (Home, Professional и т.д.)?
Получить Windows Edition
Ответ 1
Несколько способов сделать это:
- Вы можете проанализировать поле
caption
классаWin32_OperatingSystem
в WMI. - Вы можете посмотреть поля
OSProductSuite
иOperatingSystemSKU
в классеWin32_OperatingSystem
в WMI. - Вы можете передать эту программу на С++, используя P/Invoke.
Ответ 2
В этом сообщении в блоге подробно обсуждается получение "основной" версии Windows (XP/Vista/7/etc.), и это после этого это сообщение в блоге, в котором подробно описывается использование WMI для получения дополнительной информации.
Код во второй ссылке немного длинный, и я никогда не уверен в копировании больших кусков кода с внешних сайтов без очевидной лицензии, поэтому я не помещаю код в этот ответ.суб >
Ответ 3
Если вы ссылаетесь на пространство имен Microsoft.VisualBasic.Devices, вы можете сделать это:
ComputerInfo computerInfo = new ComputerInfo();
string fullName = computerInfo.OSFullName; // i.e. "Microsoft Windows 7 Ultimate"
Вы можете использовать Microsoft.VisualBasic в своих приложениях С#, как и в любой другой библиотеке.
Ответ 4
Сорт. Используйте этот класс в таким образом.
Ответ 5
Легкий ответ? Просто загляните в реестр.
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CSDVersion
У него нет накладных расходов на WMI (50 мс каждый вызов), и он дает полное имя.