欢迎访问宙启技术站
智能推送

使用win32com.shell.shell模块实现Windows系统中的系统属性查询

发布时间:2023-12-27 22:44:04

使用win32com.shell.shell模块可以实现在Windows系统中查询系统属性,包括获取计算机名称、操作系统版本、用户名、计算机域等信息。

首先,需要先安装pywin32库,可以使用pip来安装:

pip install pywin32

然后,可以使用以下代码来查询系统属性:

import win32com.shell.shell as shell

# 查询计算机名称
def get_computer_name():
    computer_name = shell.SHGetFolderPath(0, shellcon.CSIDL_DESKTOP, None, 0)
    return computer_name.split("\\")[-1]  # 获取计算机名称

# 查询操作系统版本
def get_os_version():
    os_version = shell.SHGetFolderPath(0, shellcon.CSIDL_WINDOWS, None, 0)
    return os_version.split("\\")[-1]  # 获取操作系统版本

# 查询用户名
def get_username():
    return shell.SHGetFolderPath(0, shellcon.CSIDL_PROFILE, None, 0).split("\\")[-1]

# 查询计算机域
def get_computer_domain():
    return shell.SHGetFolderPath(0, shellcon.CSIDL_PROFILE, None, 0).split("\\")[1]

# 获取注册表中的键值
def get_registry_key_value(key_path, key_name):
    key = win32api.RegOpenKeyEx(win32con.HKEY_LOCAL_MACHINE, key_path, 0, win32con.KEY_READ)
    value = win32api.RegQueryValueEx(key, key_name)
    win32api.RegCloseKey(key)
    return value[0]

# 查询计算机名称
print("计算机名称:", get_computer_name())

# 查询操作系统版本
print("操作系统版本:", get_os_version())

# 查询用户名
print("用户名:", get_username())

# 查询计算机域
print("计算机域:", get_computer_domain())

# 查询计算机制造商
manufacturer = get_registry_key_value("HARDWARE\\DESCRIPTION\\System\\BIOS", "SystemManufacturer")
print("计算机制造商:", manufacturer)

# 查询计算机型号
model = get_registry_key_value("HARDWARE\\DESCRIPTION\\System\\BIOS", "SystemProductName")
print("计算机型号:", model)

通过调用相应的函数,就可以得到计算机名称、操作系统版本、用户名、计算机域等系统属性信息。

需要注意的是,获取注册表中的信息需要使用win32api库,需要导入相应的模块,并且需要根据具体的键值路径和键名进行查询。

这是一个简单的使用win32com.shell.shell模块查询系统属性的例子,通过这个例子可以了解如何使用该模块获取Windows系统的系统属性信息。