예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
 /// <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;
 }