(result, rsp_buff + offset, len); return result; } /* * 0x80 就是获取 SERIAL_NUMBER */ static gchar * get_disk_serial(int fd) { gchar rsp_buff[MX_ALLOC_LEN + 1] = {0}; gchar *serial = NULL; int len; memset(rsp_buff, 0, sizeof(rsp_buff)); if (do_disk_inq(fd, 0,...
下面我们给出一个简单的Java程序,用于获取Linux系统中第一个硬盘的序列号: importjava.io.BufferedReader;importjava.io.FileReader;importjava.io.IOException;publicclassDiskSerialNumber{publicstaticvoidmain(String[]args){StringserialNumber=getSerialNumber("/sys/block/sda/device/vendor","/sys/block/sda/device...
serial[20] = '\0'; printf("Hard Disk Serial Number: %s\n", serial); close(fd); return 0; } ``` 在上面的代码中,我们首先使用open()函数打开/dev/sda设备文件,并且指定只读模式。然后通过ioctl()函数和HDIO_GET_IDENTITY命令获取硬盘的ID信息,将序列号信息存储在id.serial_no字段中。最后,将序列...
fprintf (stderr, "open hard disk device failed.\n"); return -1; } if (ioctl (fd, HDIO_GET_IDENTITY, &hid) < 0) { fprintf (stderr, "ioctl error.\n"); return -1; } close (fd); snprintf (id, max, "%s", hid.serial_no); fprintf (stdout, "get hard disk serial number: %...
(1). Windows:打开命令提示符,运行 wmic diskdrive get serialnumber 命令。 (2). Linux:运行 lsblk --nodeps -no serial /dev/sda 命令,注意:虚拟机获取到的是空的,可以用命令 ls /dev/disk/by-id -al 查看wwid也是唯一的,可以当成序列号使用, ...
GetVolumeInformation()是否返回唯一的卷序列号? 的文档说: 此函数返回操作系统在格式化硬盘时分配的卷序列号。若要以编程方式获取制造商分配的硬盘序列号,请使用Windows (WMI) Win32_PhysicalMedia属性SerialNumber。Windows是否指定了唯一的卷序列号,还是多台计算机可以拥有相同的卷序列号? 浏览4提问于2015-05-31得票...
,这其中,serial_no为硬盘的序列号。如果此项为0,则为没有提供。 思路明确了,以下为实现代码: static int getdiskid (char *id, size_t max) { int fd; struct hd_driveid hid; FILE *fp; char line[0x100], *disk, *root, *p; fp = fopen ("/etc/mtab", "r"); ...
,这其中,serial_no为硬盘的序列号。如果此项为0,则为没有提供。 思路明确了,以下为实现代码: static int getdiskid (char *id, size_t max) { int fd; struct hd_driveid hid; FILE *fp; char line[0x100], *disk, *root, *p; fp = fopen ("/etc/mtab", "r"); ...
9、id.serial_no); fprintf (stdout, get hard disk serial number: %sn, id); return 0;获取MAC地址通过创建一个socket,然后bind特定的IP地址,就可以通过ioctl得到这个套按地绑定的网络接口名称。然 后再通过网络接口名称,得到MAC地址。如果ioctl的第二个参数为SIOCGIFNAME, 则获得指定网络接口的名称;如果ioctl...
...在 main 函数中,通过调用 GetDiskInfo 获取硬盘信息,并输出到控制台。...btOutCmd)->bBuffer; for (int i = 0; i < 256; i++) { dwDiskData[i] = pIDSector[i]; } // 获取序列号...return 0; } int main(int argc,char *argv[]) { char SerialNumber[64]; // 硬盘序列号 char...