如何强制AutoLISP应用程序等待startapp运行的应用程序完成其工作

时间:2016-05-04 10:52:21

标签: autocad-plugin autolisp

在我的AutoCAD LISP插件中,我按startapp运行外部应用程序,然后需要在外部应用程序关闭后执行某些操作。我该怎么做?也许我可以用其他东西代替startapp?

2 个答案:

答案 0 :(得分:0)

AutoCAD Lisp是异步执行的。

答案 1 :(得分:0)

至少有两种同步方式:

(setq Shell (vlax-get-or-create-object "Wscript.Shell"))            
(setq updater(vlax-invoke-method Shell 'Exec (strcat apppath appname ) ))
(while ( = (vlax-get-property updater 'Status ) 0)  
    (Sleep 1000)
)
(vlax-release-object Shell)

或使用命令:

(command "_Shell" (strcat apppath appname ) )