loveqiu 发表于 2005-5-20 11:45:00

[求助]如何在AutoCAD中加载自己的菜单后不影响AutoCAD本身

我做了一个exe应用程序,启动后自动加载我的ARX文件和我自己定义的菜单,可是这个菜单已经影响到了AutoCAD本身的菜单,当我启动acad.exe的时候,菜单变成我自己定义的菜单了,可是我意图只是想在运行我自己的exe的时候加载我自己的菜单,在运行acad.exe的时候加载的还是AutoCAD本身的菜单。想了好几天了,没有更好的办法,各位大侠、高手给点提示吧,谢谢了!



pqs001 发表于 2005-5-20 12:12:00

本帖最后由 作者 于 2005-5-20 12:38:55 编辑 <br /><br /> 有同样的需要,



我的想法就是在加载菜单之前,获取原有菜单组,保存备份,程序退出之前,恢复原有菜单组


PS:


能否分享一下启动程序呢?我做的一直很不好用,谢谢了!


<A href="mailto:pqs001@163.com" target="_blank" >pqs001@163.com</A>

pqs001 发表于 2005-5-20 12:30:00

另外就是profile了,非常有用,定制方面不可或缺

sailor 发表于 2005-5-20 17:20:00

我觉得你可以自己写一个ARX程序,让其在AutoCAD每次运行的时候判断你自己的程序有没有加载,如果没有的话,加载原来的菜单就可以了。

goldenshin 发表于 2005-5-20 17:40:00

可能 pqs001老兄的方法比较好.


定制Profile可以在AutoCAD中手工做, 也可以通过写注册表来做Profile, 也可以在加载程序时做这个工作.


看你喜欢怎样了

pqs001 发表于 2005-5-21 19:12:00

<BR>非常感谢楼主能发来源程序文件,回复了四次您的邮件,都被退回了 ^-^<BR>

loveqiu 发表于 2005-5-23 17:18:00

嗯,没事,我知道你收到了就可以了。

loveqiu 发表于 2005-5-23 17:30:00

我原来是在acad2000doc.lsp中加入了一句话(command ".menu" "acad.mnu"),而且这句话也是我自己编写的arx在加载这个arx之后会把这句话写到acad2000doc.lsp文件的后面,在启动AutoCAD后,加载的菜单就是AutoCAD的菜单,我自己定义的菜单就不见了,可是这样做却修改了AutoCAD本身的东西,我是想能不能不修改AutoCAD就出现这样的结果。



还有一个方法,在我们自己定义的菜单上面再定义一个项,卸载菜单,要是你不用这个菜单了点击“卸载菜单”,以后再启动AutoCAD我们自己定义的菜单就不出现了,不过这样有些麻烦。

pqs001 发表于 2005-5-24 10:54:00

不知道acad在什么地方保存profile及menu的配置

pandoram 发表于 2005-5-25 17:36:00

在自己的文件夹里放一个ACAD.LSP, 里面放上所需要的初始化作业, 再从这个文件夹里起始运行ACAD就可以了. 或者直接配置到profile(.arg文件), 然后让CAD以命令行参数       /P "profile_name" 运行, 就会自动配置.


顶多就是再在CAD本身自带的系统文件夹的ACAD.LSP里加一个检查, 如果有用户菜单, 把用户自定义菜单去掉..
页: [1] 2
查看完整版本: [求助]如何在AutoCAD中加载自己的菜单后不影响AutoCAD本身