本文将总结SQLyog Trial
试用到期的问题。
其实解决起来很简单,就是将SQLyog相关注册表删掉即可
一、要删除的注册表项
Win+R
打开运行,输入regedit
回车,打开注册表
在HKEY_CURRENT_USER\SOFTWARE
路径下,找到{d58cb4b1-47f3-45cb-a209-f298d0c3f756}
这个一串字符串的项
(不确定大家的是否都一样,自己找找,找到包含InD110、InU值
的)
删除这个项,即可解决问题
二、写了个脚本干这个事儿
每过14天都要手动删除一下这个,好像也还能接受,但我还是写了一个脚本来完成这项工作。
直接上脚本内容(bat脚本)
@echo off
title batch script for SQLyog
REM 以管理员身份运行(开启后每次运行该脚本生成的快捷方式都会闪一下)
REM %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit
REM 请改为你本地SQLyog安装位置
set sqlyog_dir=E:\Program Files\SQLyog Trial
set sqlyog_app=%sqlyog_dir%\SQLyog.exe
REM SQLyog注册表key,可能跟你的不一样,如果不一样,请替换为你的
set sqlyog_reg_key=HKEY_CURRENT_USER\SOFTWARE\{d58cb4b1-47f3-45cb-a209-f298d0c3f756}
if "%1"=="shortcut" (
call :delete_reg_key
call :start_sqlyog
) else (
call :create_shortcut
)
exit /b
:delete_reg_key
REM 判断注册表是否存在,如果存在删除注册表项
reg query %sqlyog_reg_key%
if %errorlevel%==0 (
reg delete %sqlyog_reg_key% /f
)
goto :EOF
:create_shortcut
REM 快捷方式信息
set shortcut_name=SQLyog.lnk
set shortcut_folder=%UserProfile%\Desktop
set shortcut_path=%shortcut_folder%\%shortcut_name%
set shortcut_description=This is a shortcut created for the bat script, the script is mainly to delete the registry key about the trial period.
REM 判断快捷方式是否存在,如果不存在则创建之,存在则不创建
for %%I in ("%shortcut_path%") do (set existing_shortcut=%%~fI)
if exist "%existing_shortcut%" (
goto :EOF
)
REM 通过SQLyog.exe获取SQLyog的icon
set icon_file=%sqlyog_app%
set icon_index=0
set working_dir=%sqlyog_dir%
set the_scene=shortcut
REM 获取当前脚本的绝对路径
set script_path=%~f0
REM 开始菜单路径
set start_menu_dir=%ProgramData%\Microsoft\Windows\Start Menu\Programs
REM 为当前脚本创建快捷方式(为了便于设别,且美观,设置快捷方式的图标为SQLyog的icon)
powershell -***mand "$WshShell = New-Object -***Object WScript.Shell; $Shortcut = $WshShell.CreateShortcut('%shortcut_path%'); $Shortcut.TargetPath = '%script_path%'; $Shortcut.WorkingDirectory = '%working_dir%'; $Shortcut.Arguments = '%the_scene%' ; $Shortcut.IconLocation = '%icon_file%,%icon_index%'; $Shortcut.Description = '%shortcut_description%'; $Shortcut.Save()"
REM 将创建的快捷方式,copy一份到开始菜单(需要管理员权限运行才能成功copy)
echo F | xcopy "%shortcut_path%" "%start_menu_dir%\%shortcut_name%" /y
goto :EOF
:start_sqlyog
REM 启动应用程序并退出脚本
start "" "%sqlyog_app%"
goto :EOF
解释说明:
1)理论上脚本放在任何位置都行,但建议放到SQLyog安装目录下;
2)脚本有两处需要修改的地方:
- SQLyog安装路径
set sqlyog_dir=E:\Program Files\SQLyog Trial
,修改为你自己的; - 注册表key
set sqlyog_reg_key=HKEY_CURRENT_USER\SOFTWARE\{d58cb4b1-47f3-45cb-a209-f298d0c3f756}
,如果跟我的不一样,修改为你自己的;
3)脚本首次运行,会在当前用户桌面创建一个快捷方式,该快捷方式是链接到该脚本的,只是快捷方式的icon使用了SQLyog的icon。另外,如果你需要在【开始-菜单】也创建快捷方式,你需要以管理员的身份运行该脚本,否则可能创建不成功;
4)快捷方式创建完成后,每次打开快捷方式,都会先去删除SQLyog的注册表项,然后再启动SQLyog程序,所以每次打开SQLyog程序,都是14天的试用期。
三、最后
其实也可以仅写一个删除注册表的脚本,然后配置到【任务计划程序】中,定期执行删除任务
@echo off
REM SQLyog注册表key,可能跟你的不一样,如果不一样,请替换为你的
set sqlyog_reg_key=HKEY_CURRENT_USER\SOFTWARE\{d58cb4b1-47f3-45cb-a209-f298d0c3f756}
REM 判断注册表是否存在,如果存在删除注册表项
reg query %sqlyog_reg_key%
if %errorlevel%==0 (
reg delete %sqlyog_reg_key% /f
)
关于如何创建定时任务,可参考:Windows 下创建定时任务执行Python脚本
虽然文章是拿Python脚本举例,方法都是相通的,要学会举一反三