小萌博客 - 既是个人原创，又是汇聚分享 - immoe.org - Navicat Premium 试用
type: channel
link: https://www.immoe.org/tag/Navicat-Premium-%E8%AF%95%E7%94%A8/
items: 体验Navicat Premium 16，无限重置试用14天方法(附源码)

体验Navicat Premium 16，无限重置试用14天方法(附源码)
type: item
date: 2021-12-25T18:23:00+08:00
description: 全篇转载自 @如有乐享 ，由 小萌 进行编辑，本文仅作存档使用前几天又重装了一下电脑~ 于是又要安装Navicat Premium的时候，发现官方发布了 Navicat Premium 16 版本！下载安装完发现UI比之前确实清新了不少~ LOGO也变成金色的了！哎嗨，问题来了。咋激活呢？翻了一圈，博主并没有找到开源代码的破解激活工具。于是马甲就想起了之前的重置试用的路子！！Navicat Premium 15 怎么激活？参考历史文章： 注册激活Navicat全系产品的开源代码分享 替换DLL目前网上有不少替换DLL文件激活的方式。如果大家想用自己去搜索吧。我这里不推荐了。你懂的~~~~无限试用这是目前博主主要推荐的方式！原理：就是清除注册表相关信息实现再次试用14天！该方式试用目前 Navicat Premium 大部分的版本。好处：不担心各种软件后门问题！ 缺点：每次启动软件都会提示试用时间，仅支持 Navicat Premium好嘞，下面就介绍一下如何重置试用！手动打开系统注册表找到以下位置 HKEY_CURRENT_USER\Software\Classes\CLSID\ {FCABAC0C-4447-F047-51F3-7E27276ECA6F} \Info提醒一下：不同系统红色ID 可能不一样哦~！直接将 Info 目录删除即可！脚本以下是 Python3 代码保存成 xx.py直接执行：python3 xx.pyimport winreg import os import time from collections import deque from typing import Any # root HKEY_CURRENT_USER = winreg.HKEY_CURRENT_USER # key path PREMIUM_PATH = r'Software\PremiumSoft' CLSID_PATH = r'Software\Classes\CLSID' def get_sub_keys(root: Any, reg_path: str) -> list: """This function will retrieve a list of sub-keys under the path of `root` + `reg_path`. Args: root(Any): Root registry. reg_path(str): The relative specific path under the root registry. Returns: The list of sub-keys. """ key_result = winreg.OpenKeyEx(root, reg_path) i: int = 0 sub_keys_list: list = list() while True: try: sub_keys = winreg.EnumKey(key_result, i) sub_keys_list.append(sub_keys) i += 1 except Exception as e: break return sub_keys_list def get_all_keys(root: Any, key_path: str) -> list: """Get the list of absolute path of all entries under the specified path through the deque. Args: root(Any): Root registry. key_path(str): The relative specific path under the root registry. Returns: A list of all entries under the keys. """ all_keys_list: list = list() qeque = deque() qeque.append(key_path) while len(qeque) != 0: sub_key_path = qeque.popleft() for item in get_sub_keys(root, sub_key_path): item_path = os.path.join(sub_key_path, item) if len(get_sub_keys(root, item_path)) != 0: qeque.append(item_path) all_keys_list.append(item_path) else: all_keys_list.append(item_p…