qianglcq 发表于 2007-6-25 19:59:00

NEW!一个简单的注册模块,轻松获得随机数!

本帖最后由 作者 于 2007-6-25 20:14:46 编辑 <br /><br /> <p>以下代码实用性并不高,注册码算法都是采用明文表达式,除非将程序编译这样别人就不知道你的注册码算法!奉上以下代码仅让大家参考一下一个简单获得随机数的方法,本人不提倡对程序进行加密!</p><p>;;;注册模块<br/>(defun huanying_f ()<br/>&nbsp; (vl-load-com)<br/>&nbsp; (mc_PopupBox<br/>&nbsp;&nbsp;&nbsp; "请注册!"<br/>&nbsp;&nbsp;&nbsp; 0.5<br/>&nbsp;&nbsp;&nbsp; "提示:"<br/>&nbsp;&nbsp;&nbsp; 48<br/>&nbsp; )<br/>)<br/>(defun error_m ()<br/>&nbsp; (vl-load-com)<br/>&nbsp; (mc_PopupBox<br/>&nbsp;&nbsp;&nbsp; "注册失败,请检查注册码!"<br/>&nbsp;&nbsp;&nbsp; 0.5<br/>&nbsp;&nbsp;&nbsp; "警告:"<br/>&nbsp;&nbsp;&nbsp; 48<br/>&nbsp; )<br/>)<br/>(defun mycopyright ()<br/>&nbsp; (setq&nbsp;mengyang_code<br/>&nbsp; (vl-registry-read "HKEY_CURRENT_USER\\MengYang" "code")<br/>&nbsp; )<br/>&nbsp; (if (= mengyang_code nil)<br/>&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq cpr (getvar "cputicks"));;;获得随机数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq cpr_1 (rtos cpr))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq cpr_1_1 (substr cpr_1 4 8));;;获得随机数的后8位数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq mengyang_code<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vl-registry-write<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "HKEY_CURRENT_USER\\MengYang"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "code"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cpr_1_1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (princ)<br/>&nbsp; )<br/>&nbsp; (setq&nbsp;m_code<br/>&nbsp; (vl-registry-read "HKEY_CURRENT_USER\\MengYang" "code")<br/>&nbsp; )<br/>&nbsp; (setq&nbsp;sn<br/>&nbsp; (vl-registry-read "HKEY_CURRENT_USER\\MengYang" "sn")<br/>&nbsp; )<br/>&nbsp; (setq cpr_right (* (/ (/ (atoi m_code) 3) 4) 7))<br/>&nbsp; (if (/= sn nil)<br/>&nbsp;&nbsp;&nbsp; (setq sn (atoi sn))<br/>&nbsp;&nbsp;&nbsp; (princ)<br/>&nbsp; )<br/>&nbsp; (if (/= sn cpr_right)<br/>&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (huanying_f)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (prompt "\n请注册")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq my_meg (strcat "\n请记住你的随机数是:" m_code))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (prompt my_meg)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (prompt my_meg)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq cv (load_dialog "cv.dcl"))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq what_next 2)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (while (&gt;= what_next 2)<br/>&nbsp;(if (null (new_dialog "my" cv))<br/>&nbsp;&nbsp; (exit)<br/>&nbsp;)<br/>&nbsp;(action_tile "code_cv" "(setq code_cv $value)")<br/>&nbsp;(action_tile<br/>&nbsp;&nbsp; "code_cv_ps"<br/>&nbsp;&nbsp; "(setq code_cv_ps $value)(setq code_cv_ps (atoi code_cv_ps))"<br/>&nbsp;)<br/>&nbsp;(action_tile "ok" "(done_dialog 1)")<br/>&nbsp;(action_tile "cancel" "(done_dialog 0)")<br/>&nbsp;(set_tile "code_cv" m_code)<br/>&nbsp;(mode_tile "code_cv" 1)<br/>&nbsp;(setq what_next (start_dialog))<br/>&nbsp;(cond<br/>&nbsp;&nbsp; ((= what_next 4)<br/>&nbsp;&nbsp;&nbsp; (PTT_MX)<br/>&nbsp;&nbsp;&nbsp; (command "osnap" "mid,int,end")<br/>&nbsp;&nbsp; )<br/>&nbsp;&nbsp; ((= what_next 0)<br/>&nbsp;&nbsp;&nbsp; (prompt "\n用户取消了操作!\n用户取消了操作!")<br/>&nbsp;&nbsp; )<br/>&nbsp;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (unload_dialog cv)<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (princ)<br/>&nbsp; )<br/>&nbsp; (if (= code_cv_ps cpr_right)<br/>&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (alert<br/>&nbsp;"\n--&gt;非常感谢!你已成功注册.\n\n重新打开CAD文件时将不再出现本窗口!\n\n请在注册表查阅你的相关注册信息!\n\n"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq code_cv_ps_s (rtos code_cv_ps))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq sn (vl-registry-write<br/>&nbsp;&nbsp; "HKEY_CURRENT_USER\\MengYang"<br/>&nbsp;&nbsp; "sn"<br/>&nbsp;&nbsp; code_cv_ps_s<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq sn_cn (vl-registry-write<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "HKEY_CURRENT_USER\\MengYang"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "梦扬软件注册码"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; code_cv_ps_s<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq sn_SM<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (/= sn nil)<br/>&nbsp;(setq sn (atoi sn))<br/>&nbsp;(princ)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq sn_at (vl-registry-write<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "HKEY_CURRENT_USER\\MengYang"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "action"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "on"<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq sn_2 (vl-registry-write<br/>&nbsp;&nbsp;&nbsp;&nbsp; "HKEY_CURRENT_USER\\MengYang"<br/>&nbsp;&nbsp;&nbsp;&nbsp; "sn_2"<br/>&nbsp;&nbsp;&nbsp;&nbsp; "on"<br/>&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (princ)<br/>&nbsp; )<br/>&nbsp; (if (= sn cpr_right)<br/>&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (prompt "\n--&gt;非常感谢!你已成功注册梦扬软件!")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vl-registry-delete "HKEY_CURRENT_USER\\MengYang" "sn_2")<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (error_m)<br/>&nbsp; )<br/>)</p>

qianglcq 发表于 2007-6-25 20:01:00

<p>附上信息提示函数,以下函数来自明经通道:</p><p>(defun mc_PopupBox (strText intWaitTime strTitle intDispType)<br/>&nbsp; (vlax-invoke-method<br/>&nbsp;&nbsp;&nbsp; (vlax-create-object "wscript.shell")<br/>&nbsp;&nbsp;&nbsp; 'Popup<br/>&nbsp;&nbsp;&nbsp; strText<br/>&nbsp;&nbsp;&nbsp; intWaitTime<br/>&nbsp;&nbsp;&nbsp; strTitle<br/>&nbsp;&nbsp;&nbsp; intDispType<br/>&nbsp; )<br/>)</p>

qianglcq 发表于 2007-6-25 20:07:00

<p>附上对话框代码:</p><p>my : dialog {<br/>&nbsp;&nbsp;&nbsp; label = "--请注册梦扬软件-- ";<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :column{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :column{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :boxed_column {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; label = "数据窗口";<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :column{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : edit_box {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;label = "用户随机数:";<br/>&nbsp;&nbsp;&nbsp;key&nbsp;&nbsp; = "code_cv";<br/>&nbsp;&nbsp;&nbsp;width = 5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :column{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : edit_box {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;label = "注册码  :";<br/>&nbsp;&nbsp;&nbsp;key&nbsp;&nbsp; = "code_cv_ps";<br/>&nbsp;&nbsp;&nbsp;width = 5;<br/>}<br/>}<br/>}<br/>}<br/>}<br/>ok_cancel;<br/>&nbsp;&nbsp;&nbsp; }</p>

zengsijun 发表于 2007-9-3 14:31:00

经测试,列表缺陷!!请问要怎么改才不会报错啊!

futuremh 发表于 2007-9-6 12:50:00

能不可搞个完整的呀,好像有问题

flytoday 发表于 2012-5-30 20:10:29

未见个完整的~~~~~~~~~~~~~~~~~~~~~~~~~
页: [1]
查看完整版本: NEW!一个简单的注册模块,轻松获得随机数!