谁帮忙分析下源码,求思路。
(DEFUN FIND_SERIALNUMBER (DRIVE / FILSYS VAL)(setq FILSYS (vlax-create-object "Scripting.FileSystemObject"))
(setq VAL (vlax-invoke FILSYS "GetDrive" DRIVE))
(setq VAL (VL-CATCH-ALL-APPLY 'vlax-get (LIST VAL "SerialNumber")))
(vlax-release-object FILSYS)
(if (VL-CATCH-ALL-ERROR-P VAL)
(PROGN (setq VAL nil))
(PROGN VAL)
)
)
(DEFUN FP_CHECK_COMPUTER (/ FP_REGNUMBER
NUM PP_REGNUM REG_PATH
*ERROR* COMPUTERNAME
CDATE NAMES FILE3
FILETIME REG_PATH USERDOMAIN
PATH
)
(setq REG_PATH
"HKEY_CURRENT_USER\\Software\\VB and VBA Program Settings\\temp"
)
(setq FP_REGNUMBER (VL-REGISTRY-READ REG_PATH "注册码"))
(if
(/=
FP_REGNUMBER
(RTOS (+ (/ (ATOI (RTOS (ATOI (RTOS (FIND_SERIALNUMBER "C:"))))) 3)
8
)
2
0
)
)
(PROGN (ALERT (STRCAT "命令未注册,请注册!"))
(setq NUM (RTOS (FIND_SERIALNUMBER "C:")))
(setq
PP_REGNUM (RTOS (+ (/ (ATOI (RTOS (ATOI NUM))) 3) 8) 2 0)
)
(TEXTSCR)
(PRINC (STRCAT "您的申请码为: " NUM))
(setq FP_REGNUMBER (GETSTRING "\n请输入注册码:"))
(if (/= FP_REGNUMBER PP_REGNUM)
(PROGN (ALERT "注册码无效!") (EXIT))
(PROGN (VL-REGISTRY-WRITE REG_PATH "注册码" PP_REGNUM)
(ALERT "您已注册成功!")
)
)
)
(PROGN (PRINC "核对注册码正确"))
)
(setq PATH (FINDFILE "TempLoadRegdit.txt"))
(if (/= (VL-FILE-SIZE PATH) 61)
(PROGN (ALERT "注册文件错误") (EXIT))
)
(setq FILETIME (VL-FILE-SYSTIME PATH))
(if (= FILETIME nil)
(PROGN (ALERT "未找到注册时间") (EXIT))
)
(if (> (NTH 0 FILETIME) )
(PROGN (if (> (NTH 1 FILETIME) 1)
(PROGN (ALERT "试用已到期,请联系程序开发者!"))
(PROGN (EXIT))
)
)
)
(setq FILE3 (OPEN PATH "W"))
(WRITE-LINE
"HKEY_CURRENT_USER\\Software\\VB and VBA Program Settings\\temp"
FILE3
)
(CLOSE FILE3)
(PRINC)
)
1.谁帮忙翻一下这段你程序,我想跳过"试用已到期,请联系程序开发者!"就行。
2.另外他的 if 语句 判断读取的FILETIME 是什么东西呢。。。解释下
进来看看 学习 学习
页:
[1]