NEW!一个简单的注册模块,轻松获得随机数!
本帖最后由 作者 于 2007-6-25 20:14:46 编辑 <br /><br /> <p>以下代码实用性并不高,注册码算法都是采用明文表达式,除非将程序编译这样别人就不知道你的注册码算法!奉上以下代码仅让大家参考一下一个简单获得随机数的方法,本人不提倡对程序进行加密!</p><p>;;;注册模块<br/>(defun huanying_f ()<br/> (vl-load-com)<br/> (mc_PopupBox<br/> "请注册!"<br/> 0.5<br/> "提示:"<br/> 48<br/> )<br/>)<br/>(defun error_m ()<br/> (vl-load-com)<br/> (mc_PopupBox<br/> "注册失败,请检查注册码!"<br/> 0.5<br/> "警告:"<br/> 48<br/> )<br/>)<br/>(defun mycopyright ()<br/> (setq mengyang_code<br/> (vl-registry-read "HKEY_CURRENT_USER\\MengYang" "code")<br/> )<br/> (if (= mengyang_code nil)<br/> (progn<br/> (setq cpr (getvar "cputicks"));;;获得随机数<br/> (setq cpr_1 (rtos cpr))<br/> (setq cpr_1_1 (substr cpr_1 4 8));;;获得随机数的后8位数<br/> (setq mengyang_code<br/> (vl-registry-write<br/> "HKEY_CURRENT_USER\\MengYang"<br/> "code"<br/> cpr_1_1<br/> )<br/> )<br/> )<br/> (princ)<br/> )<br/> (setq m_code<br/> (vl-registry-read "HKEY_CURRENT_USER\\MengYang" "code")<br/> )<br/> (setq sn<br/> (vl-registry-read "HKEY_CURRENT_USER\\MengYang" "sn")<br/> )<br/> (setq cpr_right (* (/ (/ (atoi m_code) 3) 4) 7))<br/> (if (/= sn nil)<br/> (setq sn (atoi sn))<br/> (princ)<br/> )<br/> (if (/= sn cpr_right)<br/> (progn<br/> (huanying_f)<br/> (prompt "\n请注册")<br/> (setq my_meg (strcat "\n请记住你的随机数是:" m_code))<br/> (prompt my_meg)<br/> (prompt my_meg)<br/> (setq cv (load_dialog "cv.dcl"))<br/> (setq what_next 2)<br/> (while (>= what_next 2)<br/> (if (null (new_dialog "my" cv))<br/> (exit)<br/> )<br/> (action_tile "code_cv" "(setq code_cv $value)")<br/> (action_tile<br/> "code_cv_ps"<br/> "(setq code_cv_ps $value)(setq code_cv_ps (atoi code_cv_ps))"<br/> )<br/> (action_tile "ok" "(done_dialog 1)")<br/> (action_tile "cancel" "(done_dialog 0)")<br/> (set_tile "code_cv" m_code)<br/> (mode_tile "code_cv" 1)<br/> (setq what_next (start_dialog))<br/> (cond<br/> ((= what_next 4)<br/> (PTT_MX)<br/> (command "osnap" "mid,int,end")<br/> )<br/> ((= what_next 0)<br/> (prompt "\n用户取消了操作!\n用户取消了操作!")<br/> )<br/> )<br/> )<br/> (unload_dialog cv)<br/> )<br/> (princ)<br/> )<br/> (if (= code_cv_ps cpr_right)<br/> (progn<br/> (alert<br/> "\n-->非常感谢!你已成功注册.\n\n重新打开CAD文件时将不再出现本窗口!\n\n请在注册表查阅你的相关注册信息!\n\n"<br/> )<br/> (setq code_cv_ps_s (rtos code_cv_ps))<br/> (setq sn (vl-registry-write<br/> "HKEY_CURRENT_USER\\MengYang"<br/> "sn"<br/> code_cv_ps_s<br/> )<br/> )<br/> (setq sn_cn (vl-registry-write<br/> "HKEY_CURRENT_USER\\MengYang"<br/> "梦扬软件注册码"<br/> code_cv_ps_s<br/> )<br/> )<br/> (setq sn_SM<br/> (if (/= sn nil)<br/> (setq sn (atoi sn))<br/> (princ)<br/> )<br/> (setq sn_at (vl-registry-write<br/> "HKEY_CURRENT_USER\\MengYang"<br/> "action"<br/> "on"<br/> )<br/> )<br/> (setq sn_2 (vl-registry-write<br/> "HKEY_CURRENT_USER\\MengYang"<br/> "sn_2"<br/> "on"<br/> )<br/> )<br/> )<br/> (princ)<br/> )<br/> (if (= sn cpr_right)<br/> (progn<br/> (prompt "\n-->非常感谢!你已成功注册梦扬软件!")<br/> (vl-registry-delete "HKEY_CURRENT_USER\\MengYang" "sn_2")<br/> )<br/> (error_m)<br/> )<br/>)</p> <p>附上信息提示函数,以下函数来自明经通道:</p><p>(defun mc_PopupBox (strText intWaitTime strTitle intDispType)<br/> (vlax-invoke-method<br/> (vlax-create-object "wscript.shell")<br/> 'Popup<br/> strText<br/> intWaitTime<br/> strTitle<br/> intDispType<br/> )<br/>)</p> <p>附上对话框代码:</p><p>my : dialog {<br/> label = "--请注册梦扬软件-- ";<br/> :column{<br/> :column{<br/> :boxed_column {<br/> label = "数据窗口";<br/> :column{<br/> : edit_box { <br/> label = "用户随机数:";<br/> key = "code_cv";<br/> width = 5;<br/> }<br/> }<br/> :column{<br/> : edit_box { <br/> label = "注册码 :";<br/> key = "code_cv_ps";<br/> width = 5;<br/>}<br/>}<br/>}<br/>}<br/>}<br/>ok_cancel;<br/> }</p> 经测试,列表缺陷!!请问要怎么改才不会报错啊! 能不可搞个完整的呀,好像有问题 未见个完整的~~~~~~~~~~~~~~~~~~~~~~~~~
页:
[1]