何度でもよみがえるメモ帳(ネタ)
とあるソフトを間違えて閉じてしまうことが頻発したため、終了してもゾンビのごとく蘇るようにしてみた。
もっと良い方法がありそう……。
# メモ帳を起動してイベントを購読する処理 [scriptblock]$startNotepad = { # メモ帳を起動 [Diagnostics.Process]$notepadProc = Start-Process -FilePath notepad -PassThru # 起動を待機 $notepadProc.WaitForInputIdle() > $null # イベントを通知させる $notepadProc.EnableRaisingEvents = $true # Exited(終了時)のイベントを購読開始 Register-ObjectEvent -InputObject $notepadProc -EventName Exited } # 無限ループ while ($true) { # メモ帳を起動 $startNotepad.Invoke() # 何かしらイベントが起きるまで待つ Wait-Event # 発生したイベント情報を取得して破棄(破棄しないと`Wait-Event`で待機しない) Get-Event | Remove-Event }
PowerShellなり、Windows PowerShell ISEなりに貼り付けて実行すると、何回閉じても復活するメモ帳が起動する。
終了したい場合は、PowerShellのウィンドウでCtrl+C
を押すか、PowerShellそのものを終了する。
190111追記
そもそもイベントにする必要が無かった。
# 無限ループ while ($true) { # メモ帳を起動 [Diagnostics.Process]$notepadProc = Start-Process -FilePath notepad -PassThru # 終了を待機 $notepadProc.WaitForExit() }