Register-ObjectEvent在所需参数InputObject中查找对象实例。对象的静态(Shared)事件的语法是什么?
更新: TimeChanged的正确语法:
$systemEvents = [Microsoft.Win32.SystemEvents]
$timeChanged = Register-ObjectEvent -InputObject $systemEvents
-EventName 'TimeChanged' -Action { Write-Host "Time changed" }
不幸的是,SystemEvents 不会在PowerShell ISE中发出信号。这是一个使用对象的 staic 事件的示例,该事件在任何地方都有效:
$networkInformation = [System.Net.NetworkInformation.NetworkChange];
$networkAddressChanged = Register-ObjectEvent -InputObject $networkInformation
-EventName 'NetworkAddressChanged'
-Action { Write-Host "NetworkAddressChanged event signaled" }