明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 32914|回复: 98

[函数] 一个简单的lsp注册模块函数

  [复制链接]
发表于 2015-1-5 14:39:26 | 显示全部楼层 |阅读模式


;;; ==============================================
;;; lsp注册模块
;;; 使用方法,将(jiany0001)插到你的程序中即可使用
;;; ==============================================
(defun jiany0001(/ bb dcl_re f fname fsys jqm n zcm)
  (vl-load-com)
  (defun jy (jqm)         ; 算法:注册码=(机器码+144356842)^0.89取整,可自己修改
    (itoa (fix (expt (+ (atoi jqm) 144356842) 0.89))))
  (setq fsys (vlax-create-object "Scripting.FileSystemObject"))
  (if (/= (vlax-invoke-method fsys "DriveExists" "C") :vlax-false)
    (setq jqm (itoa (vlax-get-property (vlax-invoke-method fsys "GetDrive" "C") "SerialNumber"))))
  (setq zcm (vl-registry-read "HKEY_CURRENT_USER\\Software\\TH++\\" "Number"))
  (if (/= zcm (jy jqm))
    (progn
      (setq fname (vl-filename-mktemp "zhuc.dcl") f (open fname "w"))
      (write-line "zhuc:dialog{ label=\"注册信息\";" f)
      (write-line ":edit_box{label=\" 机器码\";key=\"e01\";edit_width=18;}" f)
      (write-line ":edit_box{label=\" 授权码\";key=\"e02\";edit_width=18;}" f)
      (write-line ":row{:button {label=\"注册\";key=\"e03\";is_default=true;}" f)
      (write-line ":button {label=\"取消\";is_cancel=true;}}}" f)
      (close f)
      (new_dialog "zhuc" (setq dcl_re (load_dialog fname)))
      (set_tile "e01" jqm)
      (set_tile "e02" "联系QQ:XXXXXX")
      (action_tile "e03" "(setq zcm  (get_tile \"e02\")) (done_dialog 1)")
      (if (= (start_dialog) 1)(vl-registry-write "HKEY_CURRENT_USER\\software\\TH++\\" "Number" zcm))
      (unload_dialog dcl_re)
      (vl-file-delete fname)
      (if (/= zcm (jy jqm))
(progn  (alert "注册失败!") (exit))
(alert "注册成功!"))))
  (princ)
)



;;; =====================================
;;; 配套的注册机程序
;;; =====================================
(defun c:zhuc (/ dcl_re f fname jqm)
  (vl-load-com)
  (defun jy (jqm)         ; 算法:注册码=(机器码+144356842)^0.89取整
    (itoa (fix (expt (+ (atoi jqm) 144356842) 0.89))))
  (setq fname (vl-filename-mktemp "zhuc.dcl")f (open fname "w"))
  (write-line "zhuc:dialog{ label=\"注册机\";" f)
  (write-line ":edit_box{label=\" 机器码\";key=\"e01\";edit_width=18;}" f)
  (write-line ":edit_box{label=\" 授权码\";key=\"e02\";edit_width=18;}" f)
  (write-line ":row{:button {label=\"计算\";key=\"e03\";is_default=true;}" f)
  (write-line ":button {label=\"取消\";is_cancel=true;}}}" f)
  (close f)
  (new_dialog "zhuc" (setq dcl_re (load_dialog fname)))
  (action_tile "e03" "(setq jqm  (get_tile \"e01\")) (set_tile \"e02\" (jy jqm))")
  (start_dialog)
  (unload_dialog dcl_re)
  (vl-file-delete fname)
  (princ)
)

评分

参与人数 2明经币 +2 收起 理由
LPACMQ + 1 神马都是浮云
zctao1966 + 1 很给力!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

发表于 2024-8-4 11:49:22 | 显示全部楼层
zyx1029 发表于 2024-8-3 18:56
(defun c:tt ()   ;;; 这个是你的程序启动命令格式
(jiany0001)    ;;; 这个就是注册程序检测
下边接 ...

谢谢,我明白了。意思要在我的程序加一行调用一下。
回复 支持 0 反对 1

使用道具 举报

发表于 2024-8-3 18:56:49 | 显示全部楼层
lxl304712346 发表于 2024-7-30 11:42
你的可以,为什么我的没有注册环节?兄弟你怎么改的?

(defun c:tt ()   ;;; 这个是你的程序启动命令格式
(jiany0001)    ;;; 这个就是注册程序检测
下边接着放你的程序源码

例如:
(defun c:Y11(/ gp)
  (jiany0001)
  (setq gp (ssget)) (command "change" gp "" "p" "c" "1" ""))
发表于 2015-1-5 14:49:11 | 显示全部楼层
这个好,现成的,谢谢分享,
发表于 2015-1-5 15:07:16 | 显示全部楼层
本帖最后由 davide888 于 2015-1-5 15:20 编辑

顶了再说           
发表于 2015-1-5 15:07:36 | 显示全部楼层
支持!必须支持!谢谢!
发表于 2015-1-5 19:09:39 | 显示全部楼层
好东西啊
发表于 2015-1-5 20:36:23 | 显示全部楼层
郎大师出品必精品
发表于 2015-1-5 22:39:17 | 显示全部楼层
支持源码!
发表于 2015-1-6 09:22:20 | 显示全部楼层
感谢分享!
发表于 2015-1-6 10:32:18 来自手机 | 显示全部楼层
顶哦   感谢大师   我就喜欢现成的  哈哈  感谢
发表于 2015-1-6 17:02:08 | 显示全部楼层
下载来研究一下。。。谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-12-27 03:59 , Processed in 0.203753 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表