HQ_2003 发表于 2003-12-12 15:12:00

[求助]怎样强制性结束"acad.exe"进程

用lisp的方法怎样强制性结束当前运行的所有"acad.exe"进程

龙龙仔 发表于 2003-12-12 16:50:00

结束当前运行"acad.exe"
(COMMAND "QUIT")

HQ_2003 发表于 2003-12-13 12:57:00

我试过这种方法,不过有时不好使,程序仍然继续执行。

luoyaya 发表于 2003-12-13 16:20:00

那可麻烦了,不过可以试试调用系统里的杀进程的

龙龙仔 发表于 2003-12-15 08:39:00

HQ_2003发表于2003-12-13 12:57:00static/image/common/back.gif我试过这种方法,不过有时不好使,程序仍然继续执行。



程序仍然继续执行!!

舉個例子好嗎?

luoyaya 发表于 2003-12-15 10:03:00

龙龙仔发表于2003-12-15 8:39:00static/image/common/back.gif以下是引用HQ_2003在2003-12-13 12:57:13的发言:
我试过这种方法,不过有时不好使,程序仍然继续执行。



程序仍然继续执行!!

舉個例子好嗎?

用QUIT肯定不好使的的么,如果没有存盘他会让你存盘,如果还有其它文件开着那还不能退出啊,我是觉得得用系统的那个杀进程的命令那可能还行,

HQ_2003 发表于 2003-12-16 17:16:00

是的。如果cad同时打开几个图形,如果用(command "QUIT" "Y" "" "") 则会提示存盘操作。如果取消的话,当切换到其他图形时,程序继续执行(譬如显示对话框)。

我觉得也应该用类似vb中的API函数之类,结束当前所有的进程。
API函数如下:
Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Declare Function GetCurrentProcess Lib "kernel32" () As Long

meflying 发表于 2003-12-16 17:27:00

LISP是不行的,每个程序的加载都是针对某个文档的,换到别的文档,这个文档不可能继续执行后面的程序。

可以使用ActiveX技术,返回非活动的文档以达到你的目的

luoyaya 发表于 2003-12-17 15:35:00

这样就可以了啊,不过是要在XP里的,应该XP有TASKKILL这个功能,(command "shell" "taskkill /f /im acad.exe")
页: [1]
查看完整版本: [求助]怎样强制性结束"acad.exe"进程