需要许可证代码的帮助
(defun日期()(vl load com)
(setq comp(getenv“COMPUTERNAME”))
(setq comp1“桌面-L4C5783”)
(如果(/=comp comp1)
(程序
(提醒“未经授权使用受版权保护的应用程序”)
(vl文件删除“xxxxx.lsp”)
(vl退出,错误为“”)
))
(setq abcd(atoi(rtos(getvar“cdate”)))
(setq abc(findfile“sts\U temp.txt”))
(如果(>abcd 20190526)
(程序
(警告“许可证已过期”)
(vl退出,错误为“”)
))
(如果(=abc nil)
(程序
(警报“找不到临时文件”)
(vl退出,错误为“”)
))
(setq abctime(vl file systime abc))
(setq abctime1(itoa(nth 0 abctime));年
(setq abctime2(itoa(nth 1 abctime));月
(setq abctime3(第n个1 abctime))
(如果(
(程序
(setq abctime2(strcat“0”abctime2))
))
(setq abctime4(itoa(nth 3 abctime));白天
(setq abctime 5(nth 3 abctime))
(如果(
(程序
(setq abctime4(strcat“0”abctime4))
))
(setq abcfinal(atoi(strcat abctime1 abctime2 abctime4)))
(如果(
(程序
(警告“许可证已过期\n日期已手动修改”)
(vl退出,错误为“”)
))
(关闭(打开abc“w”))
)
大家好,需要许可证代码方面的帮助。基本上以上代码检查计算机名称,日期和更安全的,我已经添加了临时文件检查日期了。从手动日期更改开始。我很满意它的代码是工作文件。唯一的问题是我必须更改每台电脑的电脑名。我们是否有任何功能自动获取电脑名并将其存储,但它应该只在一台电脑上运行。或者我欢迎任何好的许可证代码。
谢谢和regarnds
solitechcadsolutions公司
看看这个代码。。。
(defun Win_IP ()
(setq WMI (vlax-create-object "WbemScripting.SWbemLocator"))
(if WMI (setq meth1 (vlax-invoke WMI 'ConnectServer)))
(if meth1 (setq meth2 (vlax-invoke meth1 'ExecQuery "Select * from Win32_NetworkAdapterConfiguration")))
(if meth2
(progn
(setq IPList nil)
(vlax-for item meth2 (setq IPList (cons (vlax-get item 'IPAddress) IPList)))
(foreach item (list WMI meth1meth2)(vlax-release-object item))
(setq IPList (vl-remove nil IPList))
(setq IPList (vl-remove (list "0.0.0.0") IPList))
(setq IPList (vl-remove (list "255.255.0.0") IPList))
(if (= (length IPList) 1)
(progn
(if (= (type (nth 0 IPlist)) 'LIST)(setq CurrentIPAddress (nth 0 (nth 0 IPList))))
)
)
)
)
(cond ((setq wscript (vlax-create-object "WScript.Network"))
(setq pcname (vlax-get-property wscript "ComputerName")
pcdom(vlax-get-property wscript "UserDomain")
pcuser (vlax-get-property wscript "UserName")
)
(mapcar 'princ
(list "\nComputername: "pcname
"\nUser domain:"pcdom
"\nUser name: "pcuser
)
)
(vlax-release-object wscript)
)
)
) 我建议您注册程序时不要使用用户名,最好使用BIOS的序列号、硬盘驱动器或主板的序列号。
我认为它会更可靠。该程序将在重新安装Windows后运行。 谢谢你的建议。对于驱动器(getvar“_pkser”)。行吗?
对于硬盘,请查看链接
过渡的链接 将程序绑定到硬盘,将程序注册到计算机,这样更好,因为计算机上可以有多个用户。
在我看来,在用户名上注册程序不是绝对正确的,这是你的选择。 谢谢你的链接想去它。我从未使用过驱动器序列号(链接代码返回驱动器的int号,对吗?)。你对未来的代码有什么建议吗?它检查日期。。。临时文件日期。。。计算机名并将添加驱动器。谢谢你,狄兰 程序返回硬盘的序列号。。。
我该怎么做:
用户启动程序后,会收到一条消息,说明需要激活该程序。它还输出请求代码,该代码由磁盘的序列号生成。现在我们有了一个用户请求代码,我们可以生成其硬盘的序列号。使用这些数据,我们可以为特定用户生成激活码。我们将激活码发送给用户。在程序中,我会添加一个函数,在该函数之后,会提示用户输入激活码。如果代码正确,则会在临时文件夹(例如.txt)中创建一个文件,并在其中写入一些数据(例如,相同的激活代码)。
文件被创建,程序被激活。
再次运行程序。哦,是的,我忘了。。。我们的程序在运行后应该从临时文件夹(.txt)中访问该文件,如果该文件不存在,则需要激活该程序。
但我们的程序已经启动了。启动后,我们搜索我们的文件,找到,从中读取一些我们在那里写的数据。也开始工作。
结论:我们为每个用户和特定计算机生成通用激活码。重新安装Windows后,用户只需再次输入激活码,程序即可继续工作。
在我看来是这样的。我会那样做的。为了获得更多的编程经验,我将编写这个程序。什么时候会有更多的空闲时间。 我还想补充一下该项目在试用期的工作。在她显示需要激活的窗口之前。 听起来不错。我还将尝试在空闲时间编写代码。如果你愿意,请分享。
页:
[1]
2