2017-02-07 38 views
0

关于如何启动shell关闭操作至少有this question。问题是它没有捕获与'x'按钮关闭PowerShell窗口。显然它不会产生上述事件。有什么办法可以捕捉到这种密切和有力的行动吗?PowerShell窗口关闭操作'x'

我想要的是在关闭时从会话变量(散列表System.Diagnostisc.Process)关闭到系统变量时管理一些值。这样新的会话可以直接访问它们。

回答

0

也许表达式“每个问题都可以用另一个间接层次解决”(see also)适用于此处。

可能真的取决于您的需求以及您的脚本如何工作等。也许您可以通过加载一些通用库来启动每个需要此行为的脚本,该库会导出一个函数,用于监视一个给定的PowerShell过程,即您当前的过程。

您可以使用$pid变量获取此信息,并将其传递给您的watcher函数,该函数启动等待当前脚本退出的进程。这可能是另一个脚本,C#等。另请参阅Get-Process -Id $pid

不知道你想完成它是什么很难推荐任何更具体的可能满足您的需求,如日志记录,成绩单,用户教育,检测的“脏关机”你的代码,等

+0

加载一个DLL应该是足够的,因为那些被通知即将发生的进程关闭。 – Joey

+0

@Kory Gill我用我的需求更新了问题 - 想为将来的会话保存活动进程的散列表。 – ephemeris

+0

@Joey你能否详细说说DLL,至少在哪里寻找? – ephemeris