明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 20730|回复: 39

[LISP]请教如何把自编的AutoLISP程序做成限次版

  [复制链接]
发表于 2003-11-25 16:03 | 显示全部楼层 |阅读模式
我想把自己编写的AutoLISP程序做成限次版,大概限用500次吧,但不知如何实现计数:
1、全局变量可以吗?可以创建新的全局变量吗?用什么函数创建?
2、用注册表可以吗?但不知道有关注册表的那几个函数语法是如何规定的,我试了很多次,都不知其所以然,望赐教!最好举一实例。不胜感激!
发表于 2016-10-25 08:57 | 显示全部楼层
很不错的程序,谢谢楼主分享啊。
发表于 2003-11-25 16:47 | 显示全部楼层
先用读注册表,(vl-registry-read "HKEY_CURRENT_USER\\Test" "Times)
如果返回NIL,则表示第一次使用,写注册表
(vl-registry-write "HKEY_CURRENT_USER\\Test" "Times" "1")
如果返回不是NIL且小于500,则将返回的值加1后重新写入注册表,如果大于500则什么也不做,直接退出程序。。。
注意:这里的操作都是字符串,加1时要转换为整型,写注册表时又要转换回字符串型,注册表的位置你可以根据自己要求改变一下
 楼主| 发表于 2003-11-25 21:14 | 显示全部楼层
多谢,多谢,我的限次版终于搞定了!!!
不好意思,再请教一个问题:我先前已把自编LISP程序设置为2003年11月30日以前有效,但我发现过期失效后只要把系统日期改回2003年11月30日以前,程序就又有效了,这有什么好办法吗?也许我不该把精力放在这类问题上,但我真的没有办法,我先前已经有过这样的教训了,不愿再让自己半年的辛苦付诸东流。我在这里先行谢过了!(寄到我的信箱里好吧:hszhxl6666@sina.com或hszhxl8888@sina.com)
发表于 2003-11-26 08:27 | 显示全部楼层
在安装时提取系统时间,同上面的方法,可以写入注册表,以后每次都提取系统时间与注册表中时间比较,如果不是当天或后一天,则退出程序。如果是后一天,则将新的日期写入注册表,如果是当天,则可以限制每天可以运行的次数,以防止用户总将系统时间总改为某一天来运行程序,虽然这样每天得改,会很麻烦,但总是能用。
这样以后,可以判断系统时间是否超过预定时间。。。
这样做,用户只要乱改系统时间,就会导致无法运行程序。。。
发表于 2003-11-26 12:30 | 显示全部楼层
1.請問樓主是什麼寶貝需這麼保護它
2.既然要給別人用為何要限次
3.我贊成時間限制,程序中動手腳即可
4.另外搞一個安裝程式(.exe),安裝時自動安裝程序執行需要的"隠藏必要條件"
 楼主| 发表于 2003-11-29 03:02 | 显示全部楼层
多谢版主不吝赐教,我的试用版基本上可以发布了,加密与解密的问题,终究是没有尽头的。。。
倒是想请教楼上的朋友,你的安装程式是用什么制作的,我用的制作程式怎么没"隠藏必要條件" 这个选项呢?
发表于 2003-11-30 16:36 | 显示全部楼层
是否請樓主先回答我第一二個問題?
发表于 2003-12-4 20:31 | 显示全部楼层
我可以问一下那个人为什么要设定注册日期呢?
发表于 2003-12-8 12:33 | 显示全部楼层
程序加載就會自動设定注册日期
发表于 2006-8-5 23:09 | 显示全部楼层
太厉害了,我又学到一招,谢谢meflying
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-26 15:02 , Processed in 0.458221 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表