2017-02-07 2 views
0

Существует не менее this question о том, как инициировать действия при закрытии оболочки. Проблема в том, что он не закрывает закрытие окна powershell с помощью кнопки «x». По-видимому, он не генерирует указанное событие. Есть ли способ захватить на нем такие тесные и силовые действия?Действия при закрытии окна powershell с «x»

То, что я хочу, это передать некоторые значения при закрытии из переменных сеанса (хеш-таблицы System.Diagnostisc.Process) системным переменным при закрытии. Так что новый сеанс может получить к ним доступ напрямую.

ответ

0

Возможно, выражение «Каждая проблема может быть решена с другим уровнем косвенности» здесь применяется (see also).

Может зависеть от ваших потребностей и от того, как работают ваши сценарии и т. Д. Возможно, вы можете запустить каждый из ваших сценариев, которые нуждаются в таком поведении, загружая некоторую общую библиотеку, которая экспортирует функцию, которая следит за выходом из данный процесс PowerShell, а именно ваш текущий.

Вы можете получить эту информацию, используя переменную $pid, и передать ее функции-наблюдателя, которая запускает процесс, ожидающий выхода вашего текущего скрипта. Это может быть другой скрипт, C# и т. Д. См. Также Get-Process -Id $pid.

Не зная, что вы пытаетесь сделать это трудно рекомендовать что-либо более конкретные, которые могут удовлетворить ваши потребности, такие как лесозаготовки, транскриптов, обучение пользователей, обнаружение «грязных» остановов вашего кода и т.д.

+0

Загрузка DLL должна быть достаточной, так как они уведомляются о предстоящем doo-erm, завершении процесса. – Joey

+0

@Kory Gill Я обновил вопрос с моими потребностями - хочу сохранить хэш-таблицу активных процессов для будущих сеансов. – ephemeris

+0

@Joey Не могли бы вы рассказать о DLL, по крайней мере, где искать? – ephemeris

Смежные вопросы