news 2026/8/22 15:20:59

如何重置 Navicat 试用期:3 条命令跑通 navicat-key 注册表清理工具

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何重置 Navicat 试用期:3 条命令跑通 navicat-key 注册表清理工具

如何重置 Navicat 试用期:3 条命令跑通 navicat-key 注册表清理工具

【免费下载链接】navicat-keynavicat-key项目地址: https://gitcode.com/gh_mirrors/na/navicat-key

Navicat 弹窗提示"试用期已结束",而你只是想继续连库跑查询。开源项目 navicat-key 替你自动清理注册表 (Registry) 里的试用记录,把 15 天试用期重置回来。照这篇文章操作,10 分钟内你能在 Windows 上跑通它,并确认删对了位置。

先看跑完是什么效果

命令执行完,屏幕会刷出一串以delete :开头的日志。第一行是主记录,后面每一行对应 CLSID (class identifier,类标识) 目录下的一处散落记录,数量随你机器的情况浮动:

delete : HKEY_CURRENT_USER\Software\PremiumSoft\Data delete : HKEY_CURRENT_USER\Software\Classes\CLSID\{05FA135A-5E1E-01B9-5855-34A51FA798F7}\Info delete : HKEY_CURRENT_USER\Software\Classes\CLSID\{41BDFDC1-F5E0-5BDD-8EEC-29DAD3C82569}\Info ...

程序跑完自动退出。这时重新启动 Navicat,"试用期已结束"的提示消失,试用期重置为 15 天。

动手前,先看清适用边界

  • 只支持 Windows。底层reg.dll是 Windows 原生库,macOS 和 Linux 上跑不起来。
  • 需要 JDK (Java Development Kit) 8 或更高版本,可用java -version自查。
  • 它能做:删除当前用户(HKEY_CURRENT_USER)下的 Navicat 试用记录,重置 15 天试用期。
  • 它不解决:不发放授权、不解锁付费功能,试用再次到期后仍需再跑一次,或购买正式授权。
  • 运行前必须关闭所有 Navicat 进程,作者 README 也把"关闭 Navicat"列为第 0 步。

确认 4 项环境准备

  • 关掉所有 Navicat 窗口 → 任务管理器进程列表里找不到 navicat 进程。
  • 已装 JDK 8 或更高 → 命令提示符执行java -version,显示 1.8.0 及以上。
  • 克隆好项目 → 项目目录里能看到srclibs两个目录。
  • (推荐)备份注册表 → 执行reg export "HKEY_CURRENT_USER\Software\PremiumSoft" backup.reg后生成了 backup.reg 文件,出错可以还原。

3 步跑通核心流程

第 1 步:克隆仓库并编译

git clone https://gitcode.com/gh_mirrors/na/navicat-key cd navicat-key javac -cp "libs/jregistry-1.8.3.jar" src/com/returncode/navicat/Registery.java

前两条命令把项目拉到本地,第三条对着 libs 里的 jregistry 依赖库编译主程序。

验证点:src/com/returncode/navicat/目录下生成了Registery.class文件。

第 2 步:运行清理命令

java -Djava.library.path="libs" -cp "src;libs/jregistry-1.8.3.jar" com.returncode.navicat.Registery

这一条命令运行主程序,并告诉 Java 到哪里找原生库。

验证点:屏幕上开始刷出delete :日志。

第 3 步:重启 Navicat 验证

关闭命令窗口,重新打开 Navicat,同时用 regedit 导航到HKEY_CURRENT_USER\Software\PremiumSoft

验证点:Data 子项已消失,Navicat 不再提示试用期结束。

看它到底是怎么工作的

先说现象:程序没碰 Navicat 安装目录里的任何文件,重启后 Navicat 却把你当"新用户"。原因是试用记录不写在安装目录,而写在 Windows 注册表里——一个系统级的配置库,存放各类软件的状态。

打个比方:注册表像小区物业的资料室,每户居民一份档案,记着"哪户住进来、免费试用用了几天"。Navicat 就像住户,首次打开时"物业"给了 15 天免租期并记进档案。navicat-key 不给你装修房子(安装文件),它只进资料室把那一页撕掉。物业再查档案时查无此人,只能把你当新住户。

具体撕哪两页?

类型路径
主记录HKEY_CURRENT_USER\Software\PremiumSoft\Data
散落记录HKEY_CURRENT_USER\Software\Classes\CLSID\{...}\Info各子项下

Java 靠什么改注册表?Java 本身没有这个能力,项目用 jregistry-1.8.3.jar,通过 JNI (Java Native Interface,Java 本地接口) 调用 Windows 系统 API,对应原生库就是 libs/ 目录下的reg.dll(32 位)和reg_x64.dll(64 位),这也是运行命令必须带-Djava.library.path的原因。

Registery.java 的主逻辑不到 50 行:拿到上面两个父键,对 Data 和各子项的 Info 调用deleteSubTree递归删除,每删一处先往屏幕打一行delete : 路径——这就是那串日志的来源。注意它只在子键真实存在时才打印并删除。

修不 work 的 4 种情况

问:运行报 "Access to the registry is not allowed"(SecurityException)。答:注册表权限不足。关掉命令提示符,右键"以管理员身份运行",重做第 2 步。验证:重跑后能看到delete :日志。

问:报java.lang.UnsatisfiedLinkError: no reg in java.library.path答:Java 找不到本地库。用dir libs确认reg.dllreg_x64.dll都在,并确认运行参数带了-Djava.library.path="libs"

问:报Unsupported major.minor version 52.0答:JDK 低于 8。升级后重跑java -version,确认数字是 1.8.0 以上。

问:跑了没有 delete 日志,试用期也没重置。答:分两种情况。试用期确实没重置,去任务管理器查有没有残留 navicat 进程,结束后再跑;如果 Data 键之前已经删过,没有日志属正常行为(源码只在键存在时打印),可开 regedit 核实。

轮到你了

5 分钟任务:打开src/com/returncode/navicat/下的Registery.java,把System.out.println("delete : " + ...)里的前缀改成你喜欢的中文(比如"已清理 : "),用第 1 步的 javac 命令重新编译,再运行一次。屏幕日志变成你的文案,说明这套流程你已经彻底掌握了。

【免费下载链接】navicat-keynavicat-key项目地址: https://gitcode.com/gh_mirrors/na/navicat-key

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 15:16:01

Rollbar.js Node.js 接入实战:Express 服务端错误追踪的 5 步配置法

Rollbar.js Node.js 接入实战:Express 服务端错误追踪的 5 步配置法 【免费下载链接】rollbar.js Error tracking and logging from Javascript to Rollbar 项目地址: https://gitcode.com/gh_mirrors/ro/rollbar.js Rollbar.js 是一款专业的错误追踪与日志记…

作者头像 李华