明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 10792|回复: 44

[风之影][原理]二次开发安装程序

    [复制链接]
发表于 2011-9-20 23:03:16 | 显示全部楼层 |阅读模式
本帖最后由 cabinsummer 于 2011-10-15 17:30 编辑

很多人开发的lsp程序,希望有个安装程序,以免不停的配置。这里有个简便的安装方法,免费以飨读者。
假设D:\MyApp是要安装的路径,而安装的源文件放在E:\Setup下,包含三个文件MyApp.lsp、MyApp.mnu、MyApp.mnl以及其它一些文件。MyApp.lsp是自己开发的程序;MyApp.mnu是菜单文件;MyApp.mnl是菜单源码文件。
MyApp.mnl内容如下:
  1. (setvar "CMDECHO" 0)
  2. (load "MyApp.lsp")
  3. (princ "MyApp loaded.\n")
  4. (princ)


创建一个acaddoc.lsp。内容如下:
  1. (setvar "CMDECHO" 0)
  2. (setq env (getenv "ACAD"));;;查找支持路径
  3. (if (not (vl-string-search "D:\\MyApp" env));;;如果没有新程序支持路径
  4.   (setenv "ACAD" (strcat env ";D:\\MyApp;"));;;建立新程序支持路径
  5. )
  6. (vl-file-copy (strcat (getvar "dwgprefix") "MyApp.lsp") (strcat "D:\\MyApp\\" "MyApp.lsp"))
  7. (vl-file-copy (strcat (getvar "dwgprefix") "MyApp.mnu") (strcat "D:\\MyApp\\" "MyApp.mnu"))
  8. (vl-file-copy (strcat (getvar "dwgprefix") "MyApp.mnl") (strcat "D:\\MyApp\\" "MyApp.mnl"))
  9. ;;;还有其它文件也可用类似方法复制
  10. (command "menuload" "MyApp.mnu")
  11. (entmake '((0 . "TEXT")(10 0 0 0)(11 200 240 0)(40 . 20)(62 . 1)(72 . 4)(1 . "安装成功")))
  12. (command "ZOOM" "E")
  13. (command "CLOSE" "Y")


在E:\Setup目录下随便创建一个dwg文件,比如叫Setup.dwg。双击打开Setup.dwg即可完成安装。
本程序还可以按照用户自定义扩展

评分

参与人数 1金钱 +20 收起 理由
zctao1966 + 20 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2011-10-12 14:12:19 | 显示全部楼层
我的安装原理是调用自启动程序将二次开发的程序(病毒是复制自身)复制到目标位置,并配置好AutoCAD,随即退出打开的图形(病毒不会关闭当前文件,而是悄悄潜伏起来,伺机传播)。由于lisp只在当前图形下有效,所以你以后不再打开那个目标目录里的文件即可。我也希望我的方法被用于正道。
回复 支持 1 反对 0

使用道具 举报

发表于 2020-11-28 14:39:04 | 显示全部楼层
老铁重现江湖了。其实,我一直也是用acad.lsp 以及acaddoc.lsp来加载我自己的命令了。
反而是一些莫名其妙的杀毒软件,天天喊着要删除,
以前自己做了一个.exe 的用于欢迎的界面也是被报警,放在自己的电脑里,还给自己下套不成
没吊他,直接把杀毒的卸载了事。
发表于 2018-9-27 15:27:19 | 显示全部楼层
您好。。。二次开发安装可以设置“图形样板设置”吗?
发表于 2011-9-20 23:29:18 | 显示全部楼层
无图无真相,都不知道是什么东西,还要钱买,太坑爹了。

点评

源码都给你了,难道还要我录像给你看?你自己可以试验啊  发表于 2011-9-20 23:34
发表于 2011-9-20 23:41:18 | 显示全部楼层
LZ至少也贴个图片出来看看是什么样

点评

我用的setup.dwg是空图。打开后自己开发的工具条就出现了,而且可以使用。  发表于 2011-9-20 23:54
发表于 2011-9-21 00:11:11 | 显示全部楼层
不知道支不支持自动加启动组和支持路径呢?其实秋枫的那个安装程序挺完善的了,启动组,支持路径和菜单都自动加上了。没有钱,还是让楼下的买吧。

点评

你尝试一下我的程序,那些功能也都有  发表于 2011-9-21 07:33
发表于 2011-9-21 00:13:31 | 显示全部楼层
本帖最后由 chpmould 于 2011-9-21 00:17 编辑

简单的安装程序以前我也用VB写了一个,不知LZ这个有什么特别,是将信息存入DWG吗?
 楼主| 发表于 2011-9-21 00:26:01 | 显示全部楼层
autolisp开发的
发表于 2011-9-21 05:52:13 | 显示全部楼层
很多人开发的lsp程序,希望有个安装程序,以免不停的配置。这里有个简便的安装方法,收费以飨读者。
假设D:\MyApp是要安装的路径,而安装的源文件放在E:\Setup下,包含三个文件MyApp.lsp、MyApp.mnu、MyApp.mnl以及其它一些文件。MyApp.lsp是自己开发的程序;MyApp.mnu是菜单文件;MyApp.mnl是菜单源码文件。
MyApp.mnl内容如下:
  1. (setvar "CMDECHO" 0)
  2. (load "MyApp.lsp")
  3. (princ "MyApp loaded.\n")
  4. (princ)


创建一个acaddoc.lsp。内容如下:
  1. (defun s::startup()
  2.   (setvar "CMDECHO" 0)
  3.   (setq env (getenv "ACAD"));;;查找支持路径
  4.   (if (not (vl-string-search "D:\\MyApp" env));;;如果没有新程序支持路径
  5.     (setenv "ACAD" (strcat env "D:\\MyApp;"));;;建立新程序支持路径
  6.   )
  7.   (vl-file-copy (strcat (getvar "dwgprefix") "MyApp.lsp") (strcat "D:\\MyApp\\" "MyApp.lsp"))
  8.   (vl-file-copy (strcat (getvar "dwgprefix") "MyApp.mnu") (strcat "D:\\MyApp\\" "MyApp.mnu"))
  9.   (vl-file-copy (strcat (getvar "dwgprefix") "MyApp.mnl") (strcat "D:\\MyApp\\" "MyApp.mnl"))
  10.   ;;;还有其它文件也可用类似方法复制
  11.   (command "menuload" "MyApp.mnu")
  12.   (entmake '((0 . "TEXT")(10 0 0 0)(11 200 240 0)(40 . 20)(62 . 1)(72 . 4)(1 . "安装成功")))
  13.   (command "ZOOM" "E")
  14.   (command "CLOSE" "Y")
  15. )


在E:\Setup目录下随便创建一个dwg文件,比如叫Setup.dwg。双击打开Setup.dwg即可完成安装。
可以将acaddoc.lsp写为一句(defun s::startup()(load (strcat (getvar "dwgprefix") "setup.vlx")))。setup.vlx则为原来acad.lsp中间那部分程序编译后的文件。用以加密安装步骤。

本程序还可以按照用户自定义扩展

真是见钱眼开啊,看看都要钱,也没什么特殊的东东啊。

点评

收点辛苦费,对那些根本不动脑子的人来说,确实贵了点。  发表于 2011-9-21 07:26
发表于 2011-9-21 07:49:40 | 显示全部楼层
支持原创!
发表于 2011-9-21 07:52:36 来自手机 | 显示全部楼层
acaddoc,acad,这类的lisp
我想98%的人会当成病毒!
还有2%的是从没中过cad毒的,也从不知道啥叫cad病毒的…
作为一个正规程序就不应该用这个启动!
发表于 2011-9-21 09:25:33 | 显示全部楼层
本帖最后由 hustluo93 于 2011-9-21 09:26 编辑

思路很有创意,当然秋枫大侠的安装程序挺好的,如果是一个简单的安装程序的话,用它也是一个不错的选择。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-23 21:38 , Processed in 0.200262 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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