tcl - 关闭 TCL 中的应用程序/窗口
问题描述
我想知道如何专门关闭 TCL 中打开的应用程序(我的系统上没有安装 TK 命令,所以我不能使用破坏)。
我正在运行一个脚本,它启动一个图像查看器,它也有命令行选项目前我有:
exec cmd /c ".\image_viewer -specified_option"
因为这是我放入命令行以使用添加的选项运行查看器的内容。
然后它会启动一个标题为“<code>image_viewer.exe”的窗口。
如何让它关闭上面的窗口并继续执行其他步骤?
我还需要知道如何截屏并保存该图像。您可以截屏屏幕的特定/指定部分吗?
解决方案
如果将命令放入后台,则可以取回进程 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]
推荐阅读
- c# - 如何在 mvc 代码优先方法中获取完整字符串格式的日期?
- android - Android 键盘在 Web 视图中隐藏输入
- javascript - 如何在 javascript 中从 reg 表达式 /\W+/ 中排除单引号?
- docker - 如何使用多个 Docker 容器在 Jenkins 管道中设置 Jenkins 代理
- c# - 如何在 C# Core 中使用 IFormFile 上传文件,输入类型为文件?
- reactjs - 我想通过 puppeteer 传递一组数据来呈现 react-vis 组件,而不是在 html 模板中传递数据?
- javascript - 获取错误消息原因 get addrinfo ENOTFOUND localhost
- sorting - 使用 frama-c 的递归快速排序的正式证明
- wcf - 增加 WCF 服务终结点大小配置的问题
- python - SimpleCookie 泛型类型