我是完全的新手,所以如果答案很明显,请原谅。
我有一个执行以下操作的批处理文件。
启动程序 1 等待 3 秒(我必须在程序 1 打开后单击其上的一个按钮)然后程序 2 启动。
我的问题是程序 1 只需要在后台运行....前 3 秒后不需要窗口。
通常,我启动批处理文件,程序 1 启动。我单击按钮来启动服务。
三秒钟第二个程序启动。
然后我必须返回程序 1 并单击窗口右上角的 X 来关闭它。我希望程序 1 上的窗口在 3 秒后自动关闭(但程序本身无法被终止)。
有什么建议吗?
@echo off
start C:\Folder\To\MySystemManager.exe
TIMEOUT 3
start "" "C:\Program Files (x86)\CustomProgram\CustomProgram.exe"
exit
答案1
据我所知,使用“纯”批处理是不可能的 - 您需要使用第三方工具或使用 powershell [或其他方式引用 Win API]。
如果我理解正确,并且您想要关闭的窗口是一种重新定义窗口关闭消息的控制面板,那么这应该可以工作(从 cmd 运行并假设只有一个进程实例):
powershell (ps MySystemManager).CloseMainWindow()
此命令的作用就像您单击了“关闭”(X)按钮一样
我已经用 xampp 控制面板测试过了(powershell (ps xampp-control).CloseMainWindow()
),你的结果可能会有所不同