0


解决`SQLyog Trial`试用到期的问题(提供一个脚本解决方案)

文章目录

本文将总结

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安装位置
setsqlyog_dir=E:\Program Files\SQLyog Trial
setsqlyog_app=%sqlyog_dir%\SQLyog.exe

REM SQLyog注册表key,可能跟你的不一样,如果不一样,请替换为你的
setsqlyog_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 快捷方式信息
    setshortcut_name=SQLyog.lnk
    setshortcut_folder=%UserProfile%\Desktop
    setshortcut_path=%shortcut_folder%\%shortcut_name%
    setshortcut_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
    seticon_file=%sqlyog_app%
    seticon_index=0setworking_dir=%sqlyog_dir%
    setthe_scene=shortcut

    REM 获取当前脚本的绝对路径
    setscript_path=%~f0

    REM 开始菜单路径
    setstart_menu_dir=%ProgramData%\Microsoft\Windows\Start Menu\Programs

    REM 为当前脚本创建快捷方式(为了便于设别,且美观,设置快捷方式的图标为SQLyog的icon)
    powershell -Command"$WshShell = New-Object -ComObject 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,修改为你自己的;
  • 注册表keyset 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,可能跟你的不一样,如果不一样,请替换为你的
setsqlyog_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脚本举例,方法都是相通的,要学会举一反三


本文转载自: https://blog.csdn.net/B11050729/article/details/132844131
版权归原作者 小青龍 所有, 如有侵权,请联系我们删除。

“解决`SQLyog Trial`试用到期的问题(提供一个脚本解决方案)”的评论:

还没有评论