有谁知道在DOS中判断某个程序的开始与结束? ( 积分: 100 )

E

Eroswar

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在DOS中监控或判断一个可执行程序它运行后什么时候它退出?并且监控它一结束后就运行我指定的程序或者批处理BAT~请问那位大哥能解决这个问题???这个问题对我来说真的有点难~呵呵 特请高手们帮帮忙?
比如用debug、QBASIC来制作一个监控的程序COM,EXE~比如监控DOS中的某杀毒软件的开启和关闭,主要是监控它什么时候关闭,在它退出后就运行我指定的程序或者批处理文件~
最好能给出源代码~
 
L

lovezyp

Unregistered / Unconfirmed
GUEST, unregistred user!
dos中监控不理解什么意思,你是指在dos环境下?不太可能?还是想做个控制台程序?
 
K

kinneng

Unregistered / Unconfirmed
GUEST, unregistred user!
dos是单任务,一般是一个程序完了再运行另一个程序,还可以使用 TSR 驻留内存,不过很难监控,因为在do
s 下程序员几乎是无限自由的。
 
E

Eroswar

Unregistered / Unconfirmed
GUEST, unregistred user!
晕了·~给点希望吧!难道在DOS中真的不能及时判断一个程序的运行和退出吗?我要的效果是先运行我那个监视程序然后就运行它[某个DOS下的程序]只要它开始运行我哪程序就一直监视它直到它自己退出[关闭]了然后在它退出后就运行我指定的bat文件或者另外一个程序~,如上的两位朋友真的没希望了吗?
 
T

tseug

Unregistered / Unconfirmed
GUEST, unregistred user!
写个TSR,拦截INT21h的4B,4C,31功能,拦截INT20h,INT27h,然后根据参数处理吧
 
E

Eroswar

Unregistered / Unconfirmed
GUEST, unregistred user!
晕了·~各位老兄能说明白一点吗?最好给个例程[代码]~!
比如用debug能不能判断其他程序运行和退出呢?最好能给个debug例程,然后把debug命令封装成EXE或者COM文件~
 
K

kinneng

Unregistered / Unconfirmed
GUEST, unregistred user!
不是没办法,只是没空搞dos,抛弃许多年
 
T

tseug

Unregistered / Unconfirmed
GUEST, unregistred user!
我想我已经说得够清楚了,如果有DOS编程经验就应该可以自己写代码了,或者,到网上
能够找到类似的代码。例程不是不能写,只是我对于开口就要代码的人[:(!]
 
E

Eroswar

Unregistered / Unconfirmed
GUEST, unregistred user!
晕·~唉!
 
B

bsense

Unregistered / Unconfirmed
GUEST, unregistred user!
@echo yong zhege
third.exe
your.exe
 
E

Eroswar

Unregistered / Unconfirmed
GUEST, unregistred user!
to bsense 你的批处理好像不成立吧?
其实也有人说过在DOS中用TYPE来判断DOS中某个EXE文件有没有运行和退出的,可是有个问题就是?它不能对非文本文件来操作,就算操作了看到的也是一大堆乱码,在说也做不到我那个判断某程序的运行和关闭的功能~tseug它真会说话~不错只要会DOS编程的像我这种问题也可以说不成问题~也不可能在这里发贴求救了?还有懂debug编程的对我这个问题来说也不成问题~他们都会很快的解决这个不是问题的问题~,说到底我本人不懂[DOS编程和debug编程]懂得话老弟我也不会这么麻烦大家的~个为高手们你们说是不是呀?其实我也知道我如上那个问题只要懂内存管理指针偏移的,处理这种事是轻儿一举的事~要怪就怪我不懂?现在只想拿一段小小的现成代码?高手们这对你们来说不难~我想说用debug编写代码最多也只有五六横代码~说到这儿也没话说了·~自己没本事怪不到别人的~
---------------------------------------------------------------
TYPE—显示文件内容命令
1.功能:显示ASCII码文件的内容。
2.类型:内部命令。
3.格式:TYPE[盘符:][路径]〈文件名〉
4.使用说明:
(1)显示由ASCII码组成的文本文件,对。EXE.COM等为扩展名的文件,其显示的内容是无法阅读的,没有实际意义2;
(2)该命令一次只可以显示一个文件的内容,不能使用通配符;
(3)如果文件有扩展名,则必须将扩展名写上;
(4)当文件较长,一屏显示不下时,可以按以下格式显示;TYPE[盘符:][路径]〈文件名〉|MORE,MORE为分屏显示命令,使用些参数后当满屏时会暂停,按任意键会继续显示。
(5)若需将文件内容打印出来,可用如下格式:
TYPE[盘符:][路径]〈文件名〉,>PRN
此时,打印机应处于联机状态。
--------------------------------------------------------------------
 
E

Eroswar

Unregistered / Unconfirmed
GUEST, unregistred user!
我自己找到解决答案了·~晕!DelphiBBSC~~~·唉~
答案如下:
我自己做一个批处理jiancha.bat
@echo off
tasklist |find /i "我要判断的程序.exe"
|| GOTO B
GOTO A
 
顶部