Выберите * из исключения исключения Win32_OperatingSystem
У меня есть приложение WPF, и я использую следующее для получения сведений об ОС моего ПК:
using (ManagementObjectSearcher win32OperatingSystem = new ManagementObjectSearcher("select * from Win32_OperatingSystem"))
{
foreach (ManagementObject obj in win32OperatingSystem.Get())
{
_operatingSystem = obj["Caption"].ToString();
_osArchitecture = obj["OSArchitecture"].ToString();
break;
}
}
Когда я вхожу в эту строку:
ManagementObject obj в win32OperatingSystem.Get())
Я получаю следующее исключение:
Неверный запрос.
Что здесь не так??
2 ответа
У классов WMI есть пространство имен, вы его не указали. Используйте WMI Code Creator, чтобы получить правильные запросы, он генерирует код C# для вас, и вы можете запустить его прямо из инструмента, чтобы проверить результаты.
Я бы предложил использовать свойства Environment
а также OperatingSystem
класс (вместо ManagementObjectSearcher
), чтобы получить эти детали.
string _operatingSystem = Environment.OSVersion.VersionString;