/// <summary> /// 通过第三方dll文件获取硬盘号 /// </summary> /// <returns></returns> public static string GetHardDiskID1() { string hddServialNumber = string.Empty; try { int iDiskNo = HDiskInfo.GetDriveCount(); for (int i = 0; i < iDiskNo; i++) { hddServialNumber = HDiskInfo.GetSerialNumber(i); if (!string.IsNullOrEmpty(hddServialNumber.Trim())) { break; } } if (string.IsNullOrEmpty(hddServialNumber.Trim())) { hddServialNumber = GetNetWorkNumber(); } } catch { hddServialNumber = GetNetWorkNumber(); } return(hddServialNumber); }
/// <summary> /// 根据指定的设备信息生成设备的详细信息。 /// </summary> /// <param name="phdinfo">一个 <see cref="IdSector"/></param> /// <returns></returns> private static HDiskInfo GetHardDiskInfo(IdSector phdinfo) { HDiskInfo hdd = new HDiskInfo(); hdd.ModuleNumber = Encoding.ASCII.GetString(phdinfo.sModelNumber).Trim(); hdd.Firmware = Encoding.ASCII.GetString(phdinfo.sFirmwareRev).Trim(); hdd.SerialNumber = Encoding.ASCII.GetString(phdinfo.sSerialNumber).Trim(); hdd.Capacity = phdinfo.ulTotalAddressableSectors / 2 / 1024; hdd.BufferSize = phdinfo.wBufferSize / 1024; return(hdd); }
/// <summary> /// 根据指定的设备信息生成设备的详细信息。 /// </summary> /// <param name="phdinfo">一个 <see cref="IdSector"/></param> /// <returns></returns> private static HDiskInfo GetHardDiskInfo(IdSector phdinfo) { HDiskInfo hdd = new HDiskInfo(); hdd.ModuleNumber = Encoding.ASCII.GetString(phdinfo.sModelNumber).Trim(); hdd.Firmware = Encoding.ASCII.GetString(phdinfo.sFirmwareRev).Trim(); hdd.SerialNumber = Encoding.ASCII.GetString(phdinfo.sSerialNumber).Trim(); hdd.Capacity = phdinfo.ulTotalAddressableSectors / 2 / 1024; hdd.BufferSize = phdinfo.wBufferSize / 1024; return hdd; }