主题:关于自动运行的问题,请高手帮忙!
ningboren
[专家分:0] 发布于 2005-07-26 22:04:00
我想在批处理中运行2个程序分别为: A.exe B.exe
本来是很简单的问题,问题出在A.EXE文件
在DOS下运行A.EXE文件后要求按任意键退出,这样以来B.EXE文件就不会
运行了,非要按任意键才会运行B.EXE.
请问高手,怎样写个外挂程序,名为C.EXE(这个C.EXE包含自动运行A.EXE文件)
这样我只要在批处理中这样写就可以了: C.EXE
B.EXE
这样就可以自动运行A.EXE和B.EXE了.
请高手帮忙!
谢谢!
回复列表 (共12个回复)
沙发
moz [专家分:37620] 发布于 2005-07-26 22:16:00
听不明白,一头雾水
如果有A.EXE的源文件,把等待按键语句删掉就是了.
警告:直接修改EXE文件是件比较严重的事情,除非你很清楚它的内容和指向.
如果你知道哪一个位置是等待按键的内容的话,你可以把它覆盖修改成文件结束符chr$(26)
另一个办法就是在A.EXE执行前把按键信息写入键盘缓冲区去,但是否可行我不保证.
板凳
ningboren [专家分:0] 发布于 2005-07-26 22:32:00
问题是,A.EXE是一个EXE文件,不能编辑的,无法删除语句,如果是BAT文件那就好了
我删除PAUSE 内部命令,就可以了(因为BAT文件是可以编辑的).
3 楼
def [专家分:3380] 发布于 2005-07-26 22:41:00
在前面加上echo.|
4 楼
moz [专家分:37620] 发布于 2005-07-26 22:45:00
这倒不一定
只是我未曾也还没有本事去研究EXE的内容结构
所以不方便发言
因为这问题不是我自己的,所以我也没有去研究的必要,你明白吗?
(意思就是说你应该自己动手去研究一下EXE的文件内容)
5 楼
ningboren [专家分:0] 发布于 2005-07-26 23:04:00
加在前面上ECHO.是有效地跳过了按任意键这一步并执行B.EXE文件.
但ECHO好象是关于显示信息的命令,用在我这里对我的目的有影响了.
我说的A.EXE其实是跟信息有关,我真实的命令为:
IT.COM /STATUS ALL >TEMP.TXT (利用IT.COM软件来获取整个硬盘分区表信息,并保存在TEMP.TXT文件中)
如果写成这样:ECHO. IT.COM /STATUS ALL >TEMP.TXT
那么在TEMP.TXT中什么信息也没有!
6 楼
moz [专家分:37620] 发布于 2005-07-26 23:51:00
那当然了,
你这样加ECHO,IT.COM都已经不用执行了.
人家说在前面加的意思是在之前的行里加,不是在你执行程序的那一行里加
echo ???(我看不懂是什么字符,问def去)
it.com /status all........
7 楼
ningboren [专家分:0] 发布于 2005-07-27 00:04:00
在上一行加就不起作用了.
是不是有别的用法,请高手帮忙!
8 楼
moz [专家分:37620] 发布于 2005-07-27 02:55:00
那就试试用竖线吧(其实我也搞不懂echo的详细用法)
echo . | itcom.......
9 楼
methuselah [专家分:6840] 发布于 2005-07-27 09:23:00
留个名,等我有空写个脚本
10 楼
ningboren [专家分:0] 发布于 2005-07-27 10:07:00
其实加竖线也没用,我试过了,算了,我放弃了,谢谢大家的热心帮助!
我来回复