中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 11:04
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何判断内存中有某个程序?
可打印版本  1,045 / 13
第1楼 wl00560 发表于 2010-04-17 02:17
银牌会员 发帖 709 积分 1,384
如何判断内存中有某个程序?
DOS的批处理……
比如说,如果内存中有CCDOS,则执行某一程序……
如果内存中没有CCDOS,则不执行……
第2楼 wl00560 发表于 2010-04-18 18:59
银牌会员 发帖 709 积分 1,384
DOS没办法做到这点吗?
第3楼 rs369007 发表于 2010-04-18 19:50
初级用户 发帖 131 积分 147
api 获取进程快照 进行遍历
第4楼 rs369007 发表于 2010-04-18 20:33
初级用户 发帖 131 积分 147


[ Last edited by rs369007 on 2010-5-2 at 16:10 ]

附件
prodetect.rar (5.24 KiB)
第5楼 rs369007 发表于 2010-04-18 20:41
初级用户 发帖 131 积分 147
例如在批处理中:写如下语句

prodetect qq.exe&&echo prodetect work well!

1,如果qq.exe 正在运行后面echo prodetect work well!会被执行
2,如果qq.exe 没有被加载到内存运行,则不会执行

还可以通过 执行prodetect后马上 用
if %errorlevel% EQU -1 ---------表示没在内存
if %errorlevel% EQU 0 ---------表示正在运行
第6楼 wl00560 发表于 2010-04-18 21:21
银牌会员 发帖 709 积分 1,384
谢谢啦,不过你这个好像不能在DOS(纯DOS)下运行呢,说是要Windows支持,呵呵。
第7楼 exzzz 发表于 2010-04-18 23:45
初级用户 发帖 167 积分 194
wmic可以做到

第8楼 wl00560 发表于 2010-04-19 00:17
银牌会员 发帖 709 积分 1,384
是纯DOS啊,不是CMD也……
第9楼 jawbin 发表于 2010-04-19 11:57
高级用户 发帖 444 积分 994
一些汉字系统好像是做标志的,通过中断检测。

如果 ccdos 没有的话,就搜索内存找标志吧。

[ Last edited by jawbin on 2010-4-19 at 12:00 ]
第10楼 rs369007 发表于 2010-04-19 14:43
初级用户 发帖 131 积分 147
通过汇编 ?
第11楼 wl00560 发表于 2010-04-19 14:48
银牌会员 发帖 709 积分 1,384
哎,不要说汇编什么了,我只是个菜鸟啊,哪儿懂那些?呵呵……
如果没什么不太复杂的方法,就算了……
第12楼 wl00560 发表于 2010-04-19 14:53
银牌会员 发帖 709 积分 1,384
如果通过 mem /c |find /c "CCDOS"(要注意大小写),可以出现1(存在CCDOS)或0(不存在CCDOS),不知有没有可能用if来判断这种情况。
第13楼 wangka 发表于 2010-04-20 15:15
初级用户 发帖 19 积分 27
学习中看过记下,我也是个菜鸟
第14楼 wl00560 发表于 2010-04-21 01:53
银牌会员 发帖 709 积分 1,384
实在不知要如何抓执行之后的0和1,高手来出点主意吧,谢谢啦……
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023