コード例 #1
0
 private void computer_HardwareAdded(IHardware hardware)
 {
     PackageHost.WriteInfo("Adding " + hardware.Name);
     if (hardware.HardwareType == HardwareType.HDD)
     {
         var hddName         = "PHYSICALDRIVE" + hardware.Identifier.ToString().Replace("/hdd/", "");
         var searcher        = new ManagementObjectSearcher($"SELECT * FROM Win32_DiskDrive WHERE Name LIKE \"%{ hddName }\"");
         ManagementObject mo = searcher.Get().OfType <ManagementObject>().FirstOrDefault();
         if (mo != null)
         {
             PackageHost.PushStateObject(hardware.Identifier.ToString(), new DiskDrive()
             {
                 Name         = this.GetWmiValue(mo, "Name"),
                 Hardware     = hardware.ToString(),
                 SerialNumber = this.GetWmiValue(mo, "SerialNumber"),
                 Model        = this.GetWmiValue(mo, "Model"),
                 Status       = this.GetWmiValue(mo, "Status"),
                 MediaType    = this.GetWmiValue(mo, "MediaType"),
                 Manufacturer = this.GetWmiValue(mo, "Manufacturer"),
                 Caption      = this.GetWmiValue(mo, "Caption")
             });
         }
     }
     this.PushHardwaresList();
 }