明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2972|回复: 5

请问哪有把我所写的程序打包成一个安装程序,安装完后,能自动设置支持路径等其他。

[复制链接]
发表于 2003-1-5 13:37:00 | 显示全部楼层 |阅读模式
请问哪有把我所写的程序打包成一个安装程序,安装完后,能自动设置支持路径等其他。
发表于 2003-1-5 13:41:00 | 显示全部楼层

自动设置支持路径必须编程实现。没有简单的方法。找一个可以写脚本的安装制作程序才

自动设置支持路径必须编程实现。没有简单的方法。找一个可以写脚本的安装制作程序才行。[br]
 楼主| 发表于 2003-1-5 15:21:00 | 显示全部楼层

明经通道有吗?

发表于 2003-1-5 20:43:00 | 显示全部楼层

这样吧

如果你的文件都安装到AutoCAD主目录下的一个自定义的目录,则可以直接使用LISP语言写一段自添加支持路径的程序,具体思路如下:
首先用findfile函数找acad.exe文件,这肯定能找到的,然后从返回的路径文件名中获取路径部分(这个程序你应该写得出来吧),该路径就是AutoCAD主目录的路径了,后面再加上你自定义的子目录名称就是你所要添加的路径了。得到这个路径后,再看看支持路径中是否存在该路径,如果有,则不添加,如果没有,则添加该路径。

如果你的目录不在AutoCAD的主目录下,最好能在安装程序中控制在把某个LISP语句添加到acad2000.lsp文件(2000版)或acad.lsp文件(R14及以前版本)的最后。在这个语句中增加到你程序的引用,通过该引用来添加支持路径及增加一些配置(如菜单的加载等)。
发表于 2012-12-25 12:54:44 | 显示全部楼层
;;lyy 支持appload加载、命令行(load "xx")加载和直接拖曳加载

(vl-load-com)
(defun set_path (/ str n1 n2)
(while (/= 0 (getvar "cmdactive")) (command))
(princ "\n")
(setq str (getvar "lastprompt"))
(if (wcmatch (strcase str) "*(LOAD \"*")
    (setq n1 (vl-string-search "(LOAD \"" str)
          n2 (vl-string-search "\")" str)
          str (substr str (+ n1 8) (- n2 n1 7))
    )
    (setq str
      (vl-registry-read "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ComDlg32\\OpenSaveMRU\\*"
        (substr (vl-registry-read "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ComDlg32\\OpenSaveMRU\\*" "MRUList") 1 1)
      )
    )
)
(setenv "ACAD" (strcat (getenv "ACAD") ";" (vl-filename-directory str)))
)
(set_path)
(setq set_path nil)
发表于 2021-12-18 00:20:41 | 显示全部楼层
mccad 发表于 2003-1-5 20:43
如果你的文件都安装到AutoCAD主目录下的一个自定义的目录,则可以直接使用LISP语言写一段自添加支持路径的 ...

这个办法,我发现了一个问题,

那就是 ACADXXXX.LSP  文件的变动,会引起CAD,对话框失效,
需要重启1次或2次。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-22 18:49 , Processed in 0.166577 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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