搜尋此網誌

2009年6月23日 星期二

取得硬碟序號的方法

硬碟的序號重覆性並不高
所以用來當作防止產品被複製的檢查碼,是有相當的實用價值
以下為取得序號的方式

smartctl -a /dev/hda | grep Serial

以程式截取的方式如下 (qt為例)
QString LinuxSystem::getSerialNumber()
{
struct hd_driveid hd;
int ide;

ide = open("/dev/hda", O_RDONLY);
::ioctl(ide, HDIO_GET_IDENTITY, &hd);
printf("Serial number - %s\n", hd.serial_no);
close(ide);
return QString((const char *)hd.serial_no);
}

沒有留言: