使用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系统的系统属性信息。
