Закрытие заявок / windows в TCL - PullRequest
0 голосов
/ 27 мая 2020

Я sh, чтобы знать, как закрыть открытое приложение в TCL (команды TK не установлены в моей системе, поэтому я не могу использовать уничтожение).

Я запускаю сценарий который запускает программу просмотра изображений, которая также имеет параметры командной строки. В настоящее время у меня есть:

exec cmd /c ".\image_viewer -specified_option"

Так как это то, что я ввел в командную строку для запуска программы просмотра с добавленной опцией.

Затем он запускает окно с заголовком «image_viewer.exe».

Как мне заставить его закрыть окно выше и продолжить другие шаги?

Также мне нужно знать, как сделать снимок экрана и сохранить это изображение. Можете ли вы сделать снимок экрана определенной c / обозначенной части экрана?

1 Ответ

0 голосов
/ 28 мая 2020

Если вы поместите команду в фоновый режим, вы можете вернуть идентификатор процесса:

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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...