использование c#, как я могу извлечь информацию о жестких дисках, существующих на локальной машине

Я добавил // CHANGE комментарии к коду, где я изменил логику. Вам нужно передать исходный объект того, что вы хотите вернуть, и обновить вложенные ключи для итогов.

computed: {
    solutionCost() {
        //Looping thru my objects
        const total = this.objects.reduce((sum, object) => {
            solution_cost_dry = object.amount / object.price;
            solution_cost_wet = object.solution_cost[dry] * object.percent;

            //CHANGE: add the values to the totals
            sum.dry += solution_cost_dry;
            sum.wet += solution_cost_wet;
            
            return sum;
        }, {dry:0, wet:0}) //CHANGE: Make the initial "sum" be the object with each key with a zero value

        //return array with summed values {dry:solution_cost_dry, wet:solution_cost_wet  }
        return total;
    },
}

5
задан AndyM 24 October 2008 в 10:08
поделиться

4 ответа

Можно использовать Вызовы WMI для доступа к информации о жестких дисках.

//Требует Системы использования. Управление; и System.Management.dll Ссылка

ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\""); 
disk.Get(); 
Console.WriteLine("Logical Disk Size = " + disk["Size"] + " bytes"); 
Console.WriteLine("Logical Disk FreeSpace = " + disk["FreeSpace"] + "bytes");
9
ответ дан 18 December 2019 в 13:20
поделиться

Самый легкий путь состоит в том, чтобы использовать WMI для получения запрошенной информации. Возьмите во взгляде на документацию для Win32 ___ DiskDrive в MSDN, который содержит множество стандартных свойств диска. Можно также попытаться использовать класс MSStorageDriver_ATAPISmartData WMI, для которого я не могу найти документы в данный момент, но должен иметь все УМНЫЕ данные, которые Вы ищете. Вот некоторый основной пример кода, чтобы перечислить все диски и получить их свойства:

ManagementClass driveClass = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection drives = driveClass.GetInstances();
foreach (ManagementObject drive in drives) 
{ 
    foreach (PropertyData property in drive.Properties)
    {
        Console.WriteLine("Property: {0}, Value: {1}", property.Name, property.Value);        
    }
    Console.WriteLine();
}
2
ответ дан 18 December 2019 в 13:20
поделиться

Необходимо использовать Систему. Пространство имен управления:

System.Management.ManagementObjectSearcher ms =
    new System.Management.ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject mo in ms.Get())
{
    System.Console.Write(mo["Model");
}

Для получения дополнительной информации на членах класса Win32_DiskDrive, проверьте:

http://msdn.microsoft.com/en-us/library/aa394132 (По сравнению с 85) .aspx

3
ответ дан 18 December 2019 в 13:20
поделиться

Можно использовать WMI для получения большей части информации, которую Вы хотите, и существует введение в WMI здесь.

0
ответ дан 18 December 2019 в 13:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: