import wmi
import os
import sys
import re
from tkinter import messagebox
c = wmi.WMI()
file = open(os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])), r'config.txt'), 'w', encoding='UTF-8')
# C:\Users\Administrator\Desktop
def Getsysteminfo():
    for i in c.Win32_OperatingSystem():
        file.write("电脑名称:" + i.Caption + "\n")
        file.write("系统名称:" + i.CSName + "\n")
        pattern = re.compile(r'\d\d\d\d\d\d\d\d')
        LastBootUpTime = pattern.search(i.LastBootUpTime)
        file.write("系统组后启动时间:" + LastBootUpTime[0] + "\n")
        print(i.LastBootUpTime)
        print(i.CSName)
        print(i.Caption)
def Getphysicaladdress():
    import uuid
    node = uuid.getnode()
    macHex = uuid.UUID(int=node).hex[-12:]
    mac = []
    for i in range(len(macHex))[::2]:
        mac.append(macHex[i:i + 2])
    mac = ':'.join(mac)
    print('MAC:', mac)
    file.write("物理地址:" + mac + "\n")
def GetDiskSerialNumber():
    for i in c.win32_DiskDrive():
        print(i.SerialNumber)
        pattern = re.compile(r'_')
        file.write("磁盘序列号:" + i.SerialNumber + "\n")
        if pattern.search(i.SerialNumber) is not None:
            return True
        else:
            return False
Getsysteminfo()
Getphysicaladdress()
isnvme = GetDiskSerialNumber()
file.close()
os.system(os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])), 'config.txt'))
if isnvme:
    try:
        os.system(os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])), 'DiskInfo32'))
    except FileNotFoundError as e:
        print(e)
        messagebox.showerror("有nvme固态查不到", "请将此软件放在有DiskInfo32.exe的文件下面")
# pyinstaller    -F -n  "顶立科技电脑信息检查1.0" -i dist/bitbug_favicon.ico  test.py