python操作注册表
时间: 2023-12-02 07:40:56 浏览: 38
以下是使用Python操作Windows注册表的示例代码:
```python
import winreg
# 打开注册表
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r'Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced', 0, winreg.KEY_ALL_ACCESS)
# 读取注册表值
value = winreg.QueryValueEx(key, 'Hidden')
print(value)
# 写入注册表值
winreg.SetValueEx(key, 'Hidden', 0, winreg.REG_DWORD, 1)
# 关闭注册表
winreg.CloseKey(key)
```
上述代码中,我们首先使用`winreg.OpenKey()`方法打开了注册表,其中`winreg.HKEY_CURRENT_USER`表示当前用户的注册表,`r'Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced'`表示注册表路径。然后使用`winreg.QueryValueEx()`方法读取了名为`Hidden`的注册表值,并将其打印出来。接着使用`winreg.SetValueEx()`方法将`Hidden`的值修改为1。最后使用`winreg.CloseKey()`方法关闭了注册表。
相关问题
python的使用_使用Python操作注册表
使用Python操作注册表需要使用winreg模块。以下是一个例子,演示如何读取和写入注册表键值:
```python
import winreg
# 打开注册表键
key_path = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion"
key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, key_path)
# 读取键值
value = winreg.QueryValueEx(key, "ProductName")[0]
print(value)
# 写入键值
winreg.SetValueEx(key, "NewValueName", 0, winreg.REG_SZ, "NewValueData")
# 关闭注册表键
winreg.CloseKey(key)
```
注意,使用Python操作注册表需要管理员权限。
python删注册表
要使用Python删除注册表的项目,你可以按照以下步骤进行操作:
1. 使用winreg模块打开HKEY_CLASSES_ROOT\*\shell的父键(Parentkey)。
2. 获取用户输入的待删除项目的名称(subkey)。
3. 调用deleteSubkey函数,将Parentkey、subkey和空字符串作为参数传递给该函数,以删除目标项目及其子项。
4. 如果删除操作出现异常,将异常信息打印出来。
5. 使用os.system('pause')可以解决Python打包生成的exe运行完直接退出的问题。
另外,你还可以将Python脚本打包成exe文件,并以管理员身份运行,以便在Windows系统上执行删除注册表的操作。你可以参考pyinstaller将Python脚本打包成exe文件。此外,如果你使用pycharm开发工具,请以管理员身份运行,否则程序运行可能会报“PermissionError: [WinError 5] 拒绝访问”错误。