显然,你制作FAS文件等。 只是多一点,你有22个模块组成的软件需要签入每一个,但要运行代码,同时测试未锁定,所以使用一个旧的DOS bat文件方法复制两个文件,使一个新的。如果您想在将代码锁写入软件时提供预先配置的软件,这很方便。
copy lisp1.lsp+check.lsp LISP1USER.lsp
copy lisp2.lsp+check.lsp LISP2USER.lsp
copy lisp3.lsp+check.lsp LISP3USER.lsp
再多一点,你可以获得序列号并将其传递到互联网服务器上。你可以将文件保存到远程服务器,在那里你可以读取它,因此没有直接的用户交互。 你们的主意不错,但问题是。。我来自印度,这里的人们只共享到服务器的互联网接入,而不共享到本地计算机(在一个小办公室里,我从那里得到一些小型自动化工程)。所以很难通过互联网,我希望得到一些当地的安全。代码,我已经张贴了它的作品罚款给我,我没有任何问题,正如上面写的,我会添加驱动器序列号检查了。所以我认为它会很好地工作。但要做到这一点,我必须检查电脑名称或现在驱动器序列号手册,然后为同一台电脑创建fas文件。(重点是我想要减少体力劳动的东西)。可能正在重新编译fas,在获取驱动器和pc名称/编号后可以工作。谢谢你的帮助
我是新来这个论坛的,我发现了许多有用的帖子从你。谢谢你指导像我这样的新手,我也想成为像你一样的程序员(请分享一些提示) 这就是将两个文件组合成1新1的想法,让新用户运行lisp并发送返回的代码,即使他们不知道它是什么。因此,通过复制lisp1来创建新的Lisp。lps+检查。包含HD编号的lsp和检查硬盘。下一步是从新的组合文件中生成FAS。如果没有post,可以运行lisp生成多个fas文件。根据我个人的经验,这应该只需要几分钟。
; check.lsp change disk id number etc then join to other lisps
(if (not hardiskcheck )(Load "lisp22") ; use a name that is not obvious but its actually the hard drive check
(setq did (#Asmi_Get_Drive_Serial "C:"))
(if (= did "123456")
(princ "passed")
(progn
(alert "Security fail\nPlease contact superman to fix")
(exit)
)
)
如果您使用日期检查查看李mac的“获取国际时间”,这将阻止时钟掉转者重新启动您的软件。 请阅读代码发布指南,并将您的代码包含在代码标签中。
Your Code Here=
Your Code Here 您的错误消息警报支持多行
(Alert "Licence has been Expired")
(Alert "Licence has Expired\nPlease call me on\n01 2345678\n\nto get reactivation code")
@SolitechCad解决方案:
也许这就是你想要的
您可以在代码中包含所有计算机名称(或硬盘序列号)的列表,并检查列表中是否有找到的值。
(if (not (vl-position (getenv "COMPUTERNAME") '("NameA" "NameB" ...)))
(progn
(alert "No permission")
(exit)
)
) 太棒了
页:
1
[2]