nonsmall 发表于 2009-3-5 19:56:00
<p>我找到两种方法可以实现这个功能</p><p>不知道你用的是哪一种</p>yyzhan12 发表于 2009-3-5 20:12:00
本帖最后由 作者 于 2009-3-5 20:26:56 编辑 <br /><br /> <p>你想到清除退出时的信息提示了吗?</p>yyzhan12 发表于 2009-3-8 15:12:00
已解决"最后关闭AutoCAD的时候会有个是否保存工程的提示",程序已重新上传,请在6楼下载不死猫 发表于 2009-3-8 16:49:00
<p> (repeat 10(ysx-use-api nil "Private Declare Function GetCurrentProcessId <br/>Lib \"kernel32\" () As Long" "GetCurrentProcessId" nil))</p><p>会产生错误</p>yyzhan12 发表于 2009-3-9 11:11:00
<p>这是一个bug,使用如下方法可以避免:</p><p>(defun c:test()</p><p> (setvar "cmdecho" 0)</p><p> (command "_.vbanew")</p><p> (repeat 10 (ysx-use-api nil "Private Declare Function GetCurrentProcessId Lib \"kernel32\" () As Long" "GetCurrentProcessId" nil nil))</p><p> (ysx-use-api nil "Private Declare Function GetCurrentProcessId Lib \"kernel32\" () As Long" "GetCurrentProcessId" nil T))</p><p> (princ)</p><p>)</p>nonsmall 发表于 2009-3-9 14:53:00
<p>这个也是此程序难以作为普及应用的原因之一</p><p>只能暂时作为Lisp扩展研究用途了</p>yyzhan12 发表于 2009-3-9 15:39:00
<strong><font face="Verdana" color="#61b713">nonsmall,</font></strong>你另外的一种调用方法是什么?yyzhan12 发表于 2009-3-9 15:43:00
就个人而言,VLISP调用WIN API给人的感觉就像鸡肋,食之无味,弃之可惜nonsmall 发表于 2009-3-9 16:11:00
<p>方法还是通过VBA (但不使用vbarun runmacro)区别是Lisp语言多写点或者VBA多写点</p><p>对于大多数Lisper来说 </p><p>习惯自定义的Lisp函数实现较强的功能</p><p>也就是VBA可以不会的前提下</p><p>能够使用API 对话框等VBA资源写东西最好了</p><p>换句话说就是写个能全自动完成VBA部分的程序</p>yyzhan12 发表于 2009-3-9 16:26:00
用vbarun runmacro其实也没什么,关键是退出的信息提示给人感觉总是不太舒服,不知道你第二种方法存不存在这个问题?