1.序
用python实现在注册表查找某个值,是否存在,若不存在,就增加某个值
2.源码
import winreg import os import sys def check_registry_value_exists(key_path, value_name): try: # 尝试打开注册表键 with winreg.OpenKey(winreg.HKEY_CURRENT_USER, key_path, 0, winreg.KEY_READ) as key: # 尝试读取值 winreg.QueryValueEx(key, value_name) return True except FileNotFoundError: # 如果键不存在,返回False return False except OSError: # 如果值不存在,返回False return False def add_to_startup(name,file_path=""): if file_path == "": file_path = os.path.realpath(sys.argv[0]) key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r'Software\Microsoft\Windows\CurrentVersion\Run', 0, winreg.KEY_SET_VALUE) winreg.SetValueEx(key, name, 0, winreg.REG_SZ, file_path) winreg.CloseKey(key) # 使用示例 key_path = r"Software\Microsoft\Windows\CurrentVersion\Run" value_name = "myApp" exists = check_registry_value_exists(key_path, value_name) #print(f"The value '{value_name}' exists in the registry: {exists}") if not exists: print('need to add') add_to_startup(value_name)