Я получаю некоторые ошибки, которые я действительно не понимаю. Я надеюсь, что кто-то может мне помочь.WMI Query - System.Management.ManagementException
Первое исключение, которое я получаю, это System.Management.ManagementException
на 'in' в моем foreach.
Следующий - это индекс за пределами диапазона на «устройстве». Меня действительно смущает то, что это сработало, когда оно не принимало переданные в него переменные. Когда я пересчитал его, чтобы сделать его более гибким, он сломался.
Может кто-нибудь указать мне в правильном направлении?
собственности и win32Class передаются в из основной программы в этот класс
Вот что и как я передаю
static void Main(string[] args)
{
GatherSystemINfoWMI.GetPropertyValue("name", "Win32_CDROMDrive");
}
// Вот что я передаю его
public static void GetPropertyValue(string property, string win32Class)
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("Select " + property + "from " + win32Class);
foreach (ManagementObject device in searcher.Get())
{
Console.WriteLine("Name: {0} ",
device.GetPropertyValue("Name"));
Console.WriteLine(device.GetPropertyValue(property) + "\n");
Console.ReadKey();
}
Не совсем уверен в этом вопросе, что вы конкретно имеете, но я могу видеть, что ваша конкатенация это неверно. В частности, где у вас есть «Выбрать» + свойство + «от» + win32Class. Попробуйте изменить «from» на «from». Теперь у вас есть это свойство, которое приведет к объединению свойства непосредственно в строковый литерал без пробела, разделяющего два. –
Разрыв линии там мешает тому, что вы собираетесь, но я понял ваш смысл. Большое спасибо за Вашу помощь. –