我如何才能强制AutoLISP应用程序等待startapp运行的应用程序完成他的工作



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

AutoCAD Lisp是异步执行的。

至少有两种同步方式:

(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 ) ) 

相关内容

最新更新