CloseMaxscript 利用内部的硬件绑定接口,自定义激活界面

默认

这是自带的激活提示界面,它的工作只有一个,就是负责将用户填写的激活码写入到文件和注册表

自定义绑定的界面

自定义界面需要,5.86+版本,并配合前置动作完成用户激活码信息的写入

设置如下

下面是自定义硬件绑定前置.ms文件代码,可以作为你修改的参考

--注意本文件只在加密中运行,外部单独运行可能导致结果不准确
--记得改一个特殊的变量名,不然后续被人覆盖则无效
global myToolRt = CodeContainer.MaxScriptRunTime
--当前序列号
global __sn = myToolRt.C67A9206D43M()
--是否激活
global __isact = myToolRt.C0XB3D38A78M()
------
try(destroyDialog r_name)catch()
rollout r_name "需要激活才能使用"
(
label txt1 "序列号" align:#left
edittext edtSn "" readonly:true
label txt2 "激活码" align:#left
edittext edtCode ""
button btnOk "确定" width:100 height:30
label labInfo "这是你的广告"
on r_name open do
(
edtSn.text = myToolRt.C67A9206D43M()
)
on btnOk pressed do
(
code = edtCode.text
err = myToolRt.WriteHardwareBindingLicense __sn code
if err != "" then
(
messageBox ("写入文件出错:" + err)
)
else
(
messageBox "写入成功,请重启插件后尝试"
)
)
)
--判断是否激活来显示窗口
if __isact == false then
(
createDialog r_name 300 150
)
--必要,让整个表达式返回true
true

最终,你应该获得如下界面显示

一些内置的绑定api

注意,描述中的【当前工具】,是指你最后一次拖入加密的工具
且这些接口只能在运行时【立即】使用,如果想要延迟使用,请使用另一个变量接收CodeContainer,比如 myApi = CodeContainer

获取当前工具的序列号

curSn = CodeContainer.MaxScriptRunTime.C67A9206D43M()

判断当前工具是否激活

isActivated = CodeContainer.MaxScriptRunTime.C0XB3D38A78M()

写入激活码

CodeContainer.MaxScriptRunTime.WriteHardwareBindingLicense <sn> <code>

删除激活码

CodeContainer.MaxScriptRunTime.RemoveAllHardwareBindingLicenses() --删除所有许可证
CodeContainer.MaxScriptRunTime.RemoveCurrentHardwareBindingLicense() --删除上次运行的脚本许可证

许可证保存文件位置:
C:\ProgramData\CloseMaxScript

同时在注册表中也写了一份
计算机\HKEY_CURRENT_USER\Software\CloseMaxScript

posted @   trykle  阅读(132)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示