资源描述
如何制作工具箱一、 制作菜单和工具条菜单和工具条有三种格式,分别是CUI、MNR、MNU,这三者区别请自行百度,我要讲的是MNU格式。这种格式使用记事本即可以编写,非常方便。下面是一个例子/一、菜单文件开始 *MENUGROUP=flytoday *POP1ID_H10BENHAI 用于学习ID_xd1_Button 高程三角网CCgcsw ID_xd2_Button 高程插点CCgccd*TOOLBARS*TB_CTT*用于学习ID1 _Toolbar(用于学习, _Floating, _SHOW, 90, 110, 1)ID_gcsw _Button(高程三角网, GCSW, GCSW)CCgcswID_gccd _Button(高程插点, GCCD, GCCD)CCgccd *ACCELERATORSF1_.REDRAW这个例子中/就是注释的意思,后面写一些说明,第二行就是本菜单的名称,此例中是“flytoday”,“*POP1”就是菜单,一般简单的程序使用一个菜单就行了。*TOOLBARS就是工具条的意思,知道这个框架后,大家只需要在里面添加自己需要的东西即可。如果要生成二级菜单,看下面的格式。也就是使用-来进行分割,使用-绘图及修改一&A来表示二给菜单的开始,绘图及修改一&AID_xd1_Button 高程三角网CCgcsw ID_xd2_Button 高程插点CCgccdID_dg CNT 1)(setq CNT (- CNT 1)(setq CNT 1) ) (menucmd (strcat P (itoa CNT) =+flytoday.pop1) (princn菜单及工具条已成功加载,欢迎您再次使用! ) (setvar filedia pre_filedia) ) (prompt n菜单已加载!) ) (princ)(c:ldmu);卸载自定义菜单(defun c:ulmu (/ pre_filedia) (if (menugroup flytoday) (progn (setq pre_filedia (getvar filedia) (setvar filedia 0) (vl-cmdf menuunload flytoday) (princn菜单及工具条已成功卸载,欢迎您再次使用! ) (setvar filedia pre_filedia) ) (prompt n未找到需要卸载的菜单!) ) (princ)五、 设置注册过程一个程序,有一个注册界面,会显示这个软件非常有价值,而且可以限制软件的非正常使用。下面给个注册人简单例子,无DCL,非常适合简单的注册过程,但需要注意的是,此程序是明码(请百度明码、非明码),很容易破解。使用方法见作者的说明。http:/bbs.mjtd.com/forum.php?mod=viewthread&tid=95792大家只用在需要加密的程序段中加入(rere)就可以了。;-;2012-7-26 soly2006 调试成功!简单加密,目的是要用也要问别人,不问也要花些时间来破;理解所有为代码付出的优秀人才!;如果看到有你代码的影子,请不要见怪。;正式版应增加:;1、补齐已注册码与申请码一致;2、求余要每机不同;3、没必要用DCL,又不是经常用到,何必考虑人机界面;4、用法:在命令后面加上(rere)就是。;5、再奉劝你,多用中文;-(defun rere( / 已注册码 注册码 输入注册码) (setq 已注册码 (vl-registry-read HKEY_CURRENT_USERSoftwaresolycad SN) (setq cpusn (cpu) (setq 注册码 (strcat (加密字串 (substr cpusn 2 4) ) (加密字串 (substr cpusn 7 4) ) (princ (strcat 你要给别人的注册码为: 注册码 n) ;显示已注册码 便于调试,给程序不要有这条啊, (if (/= 已注册码 注册码) (progn (setq 已注册码 注册码) (princ (strcat 申请码为: nn cpusn) (setq 输入注册码 (getstring n请输入已注册码:) (if (/= 已注册码 输入注册码) (progn (alert 请输入正确的已注册码) (exit) ) (progn (vl-registry-write HKEY_CURRENT_USERSoftwaresolycad SN 输入注册码) (princ 注册成功!) ) ) ) (alert n 已注册) )(princ);-CPU-;不明出处(defun CPU (/ Vlist VObj lcom lExecQuery item) (vl-load-com) (setq Vlist () (if (setq VObj (vlax-create-object wbemscripting.swbemlocator) (progn (SETQ lcom (VLAX-INVOKE VObj ConnectServer . rootcimv2 128 nil ) ;_ 结束VLAX-INVOKE ) ;_ 结束SETQ (setq lExecQuery (vlax-invoke lcom ExecQuery ;Select * From Win32_BIOS Select * from Win32_Processor ) ;_ 结束vlax-invoke ) ;_ 结束setq (vlax-for item lExecQuery (setq Vlist (vlax-get item ProcessorId) ;_ 结束cons ) ;_ 结束setq ) ;_ 结束vlax-for (vlax-release-object lExecQuery) (vlax-release-object lcom) (vlax-release-object Vobj) ) ) Vlist); -字串分解-(defun 字串分解 (字串 / i k s lst) (setq i 0 k (chr 160) (while (/= (setq s (substr 字串 (setq i (1+ i) 1) (if ( s k) (setq lst (cons s lst) (setq lst (cons (substr 字串 i 2) lst) i (1+ i) ) )(reverse lst) ;-加密字串-(defun 加密字串(字串 / 字串表 串) (setq 串 字串) (setq 字串表 (字串分解 串) (setq 串 (apply strcat (mapcar (lambda (X) (加密字符 X) 字串表);-加密字符-;精华所在:密=字符+字符对5求余(defun 加密字符(字符 )(chr (+ (ascii 字符) (rem (ascii 字符) 5)六、 打包成EXE我们的程序使用的是LSP文件格式,用户可以直接打开,我们最好把对话框,LSP文件打包成VLX格式,安全性很好。输入“Vlide”命令或都通过菜单进行Visual LISP编程环境。单击完成就可以打包成VLX文件,将此文件放入事先准备好的文件夹中。这里面一个程序文件,两个菜单文件,一个工具条的资源DLL,A、B是秋枫大侠程序打包时使用的两个图片,不是必须的。秋枫大侠的程序如何使用,请见置顶贴http:/bbs.mjtd.com/thread-35156-1-1.html打包后的程序图标如下,不太美观我们将其再转化成美观一点和图标。七、 自定义程序图标使用Iconworkshop-制作ICO图标.exe和PS可以很方便地制作出ICO文件,如果大家不会制作的话,可以百度一下下载现成的ICO图标。将所有素材弄好,放在文件夹中。注意注释里面的文件内容。选中文件夹中所有文件,点右键,此时生成的图标就是我们自己定义的啦
展开阅读全文