import wmi
def get_motherboard_serial():
c = wmi.WMI()
for board in c.Win32_BaseBoard():
return board.SerialNumber.strip()
return None
def get_disk_serial():
"""获取系统盘(C盘)的硬盘序列号,稳定性远高于主板序列号"""
try:
c = wmi.WMI()
# 遍历物理磁盘,筛选系统盘(通常是Index=0,或Caption包含"C:")
for disk in c.Win32_DiskDrive():
# 只取第一个物理硬盘(系统盘)的序列号,避免多个硬盘干扰
serial = disk.SerialNumber
if serial and serial.strip() and serial != "None":
return serial.strip()
return None
except Exception as e:
print(f"获取硬盘序列号失败: {e}")
return None
if __name__ == "__main__":
# 获取并打印主板序列号
serial = get_motherboard_serial()
if serial and serial != "None":
print(f"主板序列号: {serial}")
else:
print("无法获取主板序列号")
# 获取并打印 硬盘 序列号
serial = get_disk_serial()
print(f"硬盘序列号: {serial}")站长微信:xiaomao0055
站长QQ:14496453