首页 > 解决方案 > 关闭 TCL 中的应用程序/窗口

问题描述

我想知道如何专门关闭 TCL 中打开的应用程序(我的系统上没有安装 TK 命令,所以我不能使用破坏)。

我正在运行一个脚本,它启动一个图像查看器,它也有命令行选项目前我有:

exec cmd /c ".\image_viewer -specified_option"

因为这是我放入命令行以使用添加的选项运行查看器的内容。

然后它会启动一个标题为“<code>image_viewer.exe”的窗口。

如何让它关闭上面的窗口并继续执行其他步骤?

我还需要知道如何截屏并保存该图像。您可以截屏屏幕的特定/指定部分吗?

标签: tcl

解决方案


如果将命令放入后台,则可以取回进程 ID:

set pid [exec cmd /c ".\image_viewer -specified_option" &]

然后,例如在 10 秒后终止进程:

proc killpid { pid } {
   if { $::tcl_platform(platform) eq "windows" } {
      set cmd "taskkill.exe /f /fi \"pid eq $pid\" 2>nul"
      exec -ignorestderr -- {*}$cmd 2>@1
   } else {
      exec kill $pid
   }
}

after 10000 [list killpid $pid]

推荐阅读