Я создаю простую программу, которая, когда она запускается, будет отображать разные компьютерные компоненты.Как использовать WMI для получения информации о мониторе для всех подключенных мониторов?
Сейчас я пытаюсь показать все подключенные мониторы. Имя каждого и общее количество подключено к компьютеру.
Когда я запускаю приведенный ниже код, он показывает мне только имя одного монитора, хотя я подключен к трем. Может кто-нибудь, пожалуйста, скажите мне, почему.
public static List<string> GetMonitorNames()
{
ManagementClass mc = new ManagementClass("Win32_DesktopMonitor");
ManagementObjectCollection moc = mc.GetInstances();
var info = new List<string>();
foreach (ManagementObject mo in moc)
{
info.Add(mo["Name"].ToString());
}
return info;
}
Я вижу, что вы там делали, но есть много * результатов google для WMI, возвращающих только один экземпляр. Вы уверены, что это работает? –
Я не делал никаких проверок его кода и получения информации о мониторе, просто показывая, что если он выполняет итерацию коллекции, чтобы получить все, что ему потребуется, чтобы использовать коллекцию и не перезаписывать значение каждый раз – bhmahler
Когда я использую это, я получаю не могу конвертировать тип System.collections.Generic.List в строку. Эта ошибка возникает в этом коде 'lblMon.Text = HardwareInfo.GetMonitorNames();' –
KevinM1990112qwq