|
发表于 2023-7-26 17:34:19
|
显示全部楼层
要在 Python 中操作注册表并写入程序,你可以使用 winreg 模块(Python 3.x)或者 _winreg 模块(Python 2.x)。这些模块提供了方法来读取、写入和修改 Windows 注册表中的键和值。
下面是一个示例,演示如何使用 winreg 模块来读取和写入注册表中的软件信息:- import winreg
- # 定义注册表的根键路径
- SOFTWARE_KEY = r"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
- def read_installed_software():
- # 打开 SOFTWARE_KEY
- key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, SOFTWARE_KEY, 0, winreg.KEY_READ)
- # 遍历所有子键,获取安装的软件信息
- num_subkeys = winreg.QueryInfoKey(key)[0]
- for i in range(num_subkeys):
- subkey_name = winreg.EnumKey(key, i)
- subkey = winreg.OpenKey(key, subkey_name)
- software_name = winreg.QueryValueEx(subkey, "DisplayName")[0]
- software_version = winreg.QueryValueEx(subkey, "DisplayVersion")[0]
- print("软件名称:", software_name)
- print("版本号:", software_version)
- print("------------------")
- # 关闭注册表键
- winreg.CloseKey(key)
- def write_to_registry():
- # 打开 SOFTWARE_KEY
- key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, SOFTWARE_KEY, 0, winreg.KEY_ALL_ACCESS)
- # 创建新的子键
- new_key = winreg.CreateKey(key, "NewSoftware")
-
- # 设置子键的值
- winreg.SetValueEx(new_key, "DisplayName", 0, winreg.REG_SZ, "New Software")
- winreg.SetValueEx(new_key, "DisplayVersion", 0, winreg.REG_SZ, "1.0")
- # 关闭注册表键
- winreg.CloseKey(new_key)
- winreg.CloseKey(key)
- # 读取已安装的软件信息
- read_installed_software()
- # 写入注册表示例
- write_to_registry()
复制代码
在上述示例中, read_installed_software 函数用于读取已安装的软件信息,它打开 SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 路径下的注册表键,并遍历所有子键,获取软件名称和版本号。
write_to_registry 函数用于示例目的创建一个新的子键,并设置其值为 "New Software" 和 "1.0"。
请注意,操作注册表需要管理员权限,因此在运行脚本时,确保以管理员身份运行。
希望这对你有所帮助!如果你有其他问题,请随时提问。求给个最佳答案,非常感谢
只要点击我的回复贴写着发表时间的那一栏的绿色按钮即可!-->
此回答源于ChatGPT,若有不正确之处,请多包容 |
|