需要批处理文件来关闭窗口..而不是批处理窗口

bat*_*vin 5 windows batch command-line batch-file

这里完全是新手,所以如果答案很明显,请原谅。

我有一个执行以下操作的批处理文件。

启动程序 1 等待 3 秒(程序 1 打开后我必须单击程序 1 上的按钮)然后程序 2 启动。

我的问题是程序 1 只需要在后台运行......在前 3 秒后不需要窗口。

通常,我启动批处理文件,程序1启动。我单击按钮启动服务。

三秒钟第二个程序开始。

然后我必须返回程序 1 并单击窗口右上角的 X 将其关闭。我希望程序一上的 WINDOW 在 3 秒后自动关闭(但程序本身无法被杀死)。

建议?

@echo off
start C:\Folder\To\MySystemManager.exe
TIMEOUT 3

start "" "C:\Program Files (x86)\CustomProgram\CustomProgram.exe"
exit
Run Code Online (Sandbox Code Playgroud)

wmz*_*wmz 6

AFAIK 这对于“纯”批处理是不可能的 - 您需要使用第 3 方工具或使用 powershell [或引用 Win API 的其他方式]。

如果我理解正确,并且您想要关闭的窗口是一种重新定义窗口关闭消息的控制面板,那么这应该可以工作(从 cmd 运行并假设该进程只有一个实例):

powershell (ps MySystemManager).CloseMainWindow()

此命令的作用就好像您单击了“关闭”( X) 按钮

我已经用 xampp 控制面板(powershell (ps xampp-control).CloseMainWindow())对其进行了测试,您的里程可能会有所不同