添加以下代码到安装程序中,以修改和恢复文件类型关联。
import winreg
# 修改文件类型关联的函数
def modify_file_assoc(file_type, app_path):
with winreg.OpenKey(winreg.HKEY_CLASSES_ROOT, file_type, 0, winreg.KEY_WRITE) as key:
winreg.SetValue(key, None, winreg.REG_SZ, app_path)
# 恢复文件类型关联的函数
def restore_file_assoc(file_type, default_icon, default_key):
with winreg.OpenKey(winreg.HKEY_CLASSES_ROOT, file_type) as key:
current_default_icon, reg_type = winreg.QueryValueEx(key, "DefaultIcon")
current_default_key, reg_type = winreg.QueryValueEx(key, None)
winreg.SetValue(key, "DefaultIcon", winreg.REG_SZ, default_icon)
winreg.SetValue(key, None, winreg.REG_SZ, default_key)
# 调用示例,修改".txt"文件类型关联为Notepad,恢复为默认关联
modify_file_assoc(".txt", r"C:\Windows\notepad.exe")
restore_file_assoc(".txt", "notepad.exe,0", "txtfile")
在调用修改和恢复函数时,需要指定文件类型的扩展名和应用程序或默认关联的路径。例如,上面的示例将".txt"文件类型关联修改为Notepad并恢复为默认设置。