请教cmd高手,如何用批处理判断当前是否打开着某对话框

来源:百度知道 编辑:UC知道 时间:2024/06/23 17:19:23
如何用批处理判断当前是否打开着某对话框?
如:在任务管理器的应用程序里显示有“我的电脑”,怎样用批处理实现:当“我的电脑”对话框打开时就“echo 是”,否则就“echo 否”
可能用到tasklist和find命令,高手指点一下,谢谢!
批处理可以判断进程的,如判断当前是否有进程notepad.exe可以用以下代码
tasklist|find /i "notepad.exe" && echo 记事本运行中 || echo 记事本未运行
不需要是“我的电脑”之类,也可以是其他对话框,由其他系统进程控制的
如果用tasklist /FI "WINDOWTITLE eq 窗口标题"这个代码来弄应该怎样弄?

tasklist /fi "windowtitle eq 窗口标题"|find /i "abc.exe" && echo 是 || echo 否
abc.exe为应用程序窗口对应的进程,任务管理器里可以查看

"我的电脑"和Explorer是绑定的 不能用这个来判断

@echo off
:menu
color 4f
cls
echo "| |
echo "| 进程判断 |
echo "| 请选择(只要输入1,2,3,4): |
echo "| 1.根据程序名 例:taskmgr.exe |
echo "| 2.根据窗口标题 例:Windows 任务管理器 |
echo "| 3.根据PID值 例:3896 |
echo "| 4.帮助文件 |
echo "| 5.安全退出 |
echo "| |

set /p Select=请选择(1,2,3,4然后回车):
echo 您选择了第%Select%项
echo.
echo.

if {%Select%}=={1} goto ProgrammeName
if {%Select%}=={2} goto WindowsTitle
if {%Select%}=={3} goto PID
if {%Select%}=={4} goto helptxt
if {%Select%}=={5} goto exit

:ProgrammeName

color a

echo 请输入需要追踪的程序名(记得加.exe 例taskmgr.exe)
set /p EXE=程序名:
echo.
echo 您输入的程序名是:%EXE%
echo.
tasklist|fi