denisnumb Asked:2020-08-21 15:19:49 +0000 UTC2020-08-21 15:19:49 +0000 UTC 2020-08-21 15:19:49 +0000 UTC 是否可以以某种方式处理 bat 文件的关闭?设置关闭批处理文件时要执行的代码 772 Android 有一个onDestroy()跟踪活动/应用程序生命周期结束的方法。是否可以对批处理文件做类似的事情?示例:用户关闭正在运行的 .bat 文件,关闭后执行一些代码。好吧,假设它发送带有批处理文件已完成的消息的 msgbox。 bat 2 个回答 Voted Alexey Vesker 2020-08-21T18:57:52Z2020-08-21T18:57:52Z 为此,您可以将以下代码添加到批处理文件的末尾: echo off echo x=msgbox("Работа завершена" ,64, "Title") >> msgbox.vbs start msgbox.vbs 解决方案在这里窥视。 Best Answer denisnumb 2020-08-23T08:04:52Z2020-08-23T08:04:52Z 解决了一个问题!我有一个用 bat 编写的聊天,可以在本地网络上进行通信。有必要跟踪文件的关闭,以便当用户关闭发送消息的控制台时,会向普通聊天发送通知,告知用户已离开聊天。 解决方案: 如上所述,最合乎逻辑的做法是编写第二个批处理文件来监控第一个批处理文件的生命周期。它是这样工作的: 指定脚本将监控的进程窗口的标题: 在一个循环中,我们不断地发送请求以获取带有此标头的 PID(进程 ID),直到 PID 值等于“Tasks”。如果找不到该进程,则会发生这种情况。TaskList 返回文本“没有符合给定条件的任务” 编码: @echo off chcp 1251 set titlename=just :GetPID for /f "tokens=2" %%A in ('tasklist /fi "windowtitle eq %titlename%"^|Find "."') do (set PID=%%A) if %PID%==Задачи, (echo Процесс был завершен) goto GetPID
为此,您可以将以下代码添加到批处理文件的末尾:
解决方案在这里窥视。
解决了一个问题!我有一个用 bat 编写的聊天,可以在本地网络上进行通信。有必要跟踪文件的关闭,以便当用户关闭发送消息的控制台时,会向普通聊天发送通知,告知用户已离开聊天。
解决方案:
如上所述,最合乎逻辑的做法是编写第二个批处理文件来监控第一个批处理文件的生命周期。它是这样工作的:
指定脚本将监控的进程窗口的标题:
在一个循环中,我们不断地发送请求以获取带有此标头的 PID(进程 ID),直到 PID 值等于“Tasks”。如果找不到该进程,则会发生这种情况。TaskList 返回文本“没有符合给定条件的任务”
编码: