检查应用程序是否已打开?
如何检查应用程序是否已打开?在我的例子中,我有一个可执行文件,我想要一个“princ”或“alert”消息,说文件已打开-如果是这样的话。
非常感谢 你说的是LISP程序吗?你想看看它是否有效吗? 不,这是一个可执行文件-虽然要启动,我使用Autolisp。
以下是我到目前为止的情况。现在我想添加一些行来显示消息
如果用户试图在它已经打开时打开它
可执行文件称为CloseDialog。exe文件
(defun C:CloseDialog (/)
(startapp "CloseDialog")
(alert(strcat "\nDialogue box suppression is now active."
);strcat
);alert
(princ)
);defun 所以你是通过“APPLOAD”加载的,对吗? 否,我使用CUI中的宏加载上述lisp,并使用“startapp”加载exe 嗨,小鱼,
我认为史蒂夫可能有点偏离了这一点-让我们看看我是否可以打得更近一点:眨眼:
我的第一个想法是vl-vlx-loaded-p,但当然,这只检查vlx应用程序。那么,从横向来看,为什么不使用全局var,并将其设置为STARTAP的回报?
即
(setq *var (startapp "CloseDialog"))
然后使用条件检查*var?
李
李,我会让你拿这个的,谢谢 谢谢李,我喜欢你的想法,不幸的是,它不起作用。
(setq*var(startapp“CloseDialog”))将返回数字33。
我不确定33意味着什么,但这对我想要什么并不重要。
如果我测试*var的值为33,则表示应用程序已加载(如果为True)
然而,如果我进入另一个dwg,并加载应用程序,即使它处于打开状态,它也会返回值为零。
也许做不到?我猜想exe文件是一个arx(c++)文件。
即使Acad关闭,此exe文件也将保持打开状态。 嗯,我以前用过这样的词:
(如果(不是(成员“geomcal.arx”(arx))(arxload“geomcal”))
这对你有帮助吗?
在Fuccaro上,不错。
页:
[1]
2