1993063
发表于 2014-9-4 08:00:33
留个脚印,以备查用
伪书虫86
发表于 2014-8-13 18:34:26
发现一个问题,要是第一次运行没有注册,关掉CAD再重启,运行lsp后就会出线 参数类型错误: numberp: nil
蒹葭_Keirll
发表于 2014-4-27 09:16:19
感谢楼主提供思路
ggdlove
发表于 2014-2-24 20:50:38
llsheng_73 发表于 2014-2-18 10:00 static/image/common/back.gif
我的做法是生成申请码时,结合了当时的计算机时间和MAC地址生成申请码,进行注册时对其时效进行一定的验证, ...
也就是说每次生成的申请码都不是一样的,如此一来倒是可以的。
但是如果用户忘记了申请码,就再也不能注册了。还有就是在用杀毒软件清理注册表时,怎么才能让我们写入的相关信息不被删除呢?
llsheng_73
发表于 2014-2-18 10:00:15
本帖最后由 llsheng_73 于 2014-2-18 10:05 编辑
我的做法是生成申请码时,结合了当时的计算机时间和MAC地址生成申请码,进行注册时对其时效进行一定的验证,比如它是不是超前或者严重滞后,这些都不被允许。生成的注册码包含注册码的生成时间、MAC地址、有效使用时间。注册时将其写入注册表。以后每次运行程序时将系统时间与两个时间进行比对,如果有效,将注册表内容的起始时间更改为当前系统时间,也就是总是记录下它的最后运行时间,这样应该没机会改系统时间
假如到期后删除注册表相关内容,再用最初得到的注册码进行注册,因为其生成时间过长而被拒绝注册,只能重新生成申请码获取注册码进行注册
当然,整个想法应该还是有一些问题可能会被钻空子,当整个思路人家清楚了之后,这也基本上是没办法的事,严格的说来就没有打不开的锁,不管他是不是有唯一的钥匙
荒野孤行
发表于 2014-2-17 23:48:34
ggdlove 发表于 2014-2-17 17:36
我有一个疑问,虽然将申请注册码的日期写入了注册表中,然后加入了使用期限。。。
但是,如果当使用期限 ...
你可以在另外一个隐藏的地方(比如可以写到系统文件里面)保存第一次的注册日期,通过与注册表日期进行对比,如果删除了,还是会提示注册信息的。
ggdlove
发表于 2014-2-17 17:36:11
我有一个疑问,虽然将申请注册码的日期写入了注册表中,然后加入了使用期限。。。
但是,如果当使用期限到了之后,我将注册表中的内容删除掉会怎样?
程序又认为是第一次使用的,重新开始计算使用期限?
llsheng_73
发表于 2014-2-13 09:35:06
(defun Macaddress(/ mac WMIobj serv lox sn)
(setq mac'())
(if (SETQ WMIobj(VLAX-CREATE-OBJECT "wbemScripting.SwbemLocator"))
(progn
(SETQ serv(VLAX-INVOKE WMIobj'ConnectServer".""\\root\\cimv2"""""""""128 nil)
lox(vlax-invoke serv'ExecQuery"Select * From Win32_NetworkAdapter "))
(vlax-for item lox
(if(and(=(vlax-get item'NetConnectionID)"本地连接")(not(member(setq sn(vlax-get item'MACAddress))mac)))
(setq mac(cons sn mac))))
(mapcar 'vlax-release-object (list lox serv WMIobj))))
(car(reverse mac)))
以上代码来源于网络
edata
发表于 2014-2-12 16:47:25
本帖最后由 edata 于 2014-2-12 17:10 编辑
不知道为什么有时候用(open "c:\\dd.txt" "r")的路径会找不到文件 而用 (open "c:/dd.txt" "r") 可以。。
(defun c:tt(/ f str str1)
(vl-load-com)
(command "shell" "ipconfig.exe /all >c:/mactest.txt")
(setq f (open "c:/mactest.txt" "r"))
(if f
(progn
(while (setq str(read-line f))
(if(wcmatch str "*Physical Address*")
(setq str1(substr str 45 17))
)
)
(if str1 (alert (strcat "您的网卡MAC地址是:" str1)))
(close f)
)
(alert "\n未读取到mac:")
)
(vl-file-delete "c:/mactest.txt")
(princ)
)
edata
发表于 2014-2-12 13:02:45
用cmd即使无网络也可以,