【发布时间】:2010-03-02 23:45:13
【问题描述】:
Register-ObjectEvent 在所需参数 InputObject 中查找对象实例。对象的静态 (Shared) 事件的语法是什么?
更新:TimeChanged 的正确语法:
$systemEvents = [Microsoft.Win32.SystemEvents]
$timeChanged = Register-ObjectEvent -InputObject $systemEvents
-EventName 'TimeChanged' -Action { Write-Host "Time changed" }
很遗憾,PowerShell ISE 中不会发出 SystemEvents 信号。这是一个使用对象的 staic 事件的示例,该事件在任何地方都有效:
$networkInformation = [System.Net.NetworkInformation.NetworkChange];
$networkAddressChanged = Register-ObjectEvent -InputObject $networkInformation
-EventName 'NetworkAddressChanged'
-Action { Write-Host "NetworkAddressChanged event signaled" }
【问题讨论】:
-
PowerShell中有一个消息循环运行,但您需要以管理员身份运行才能访问它。
标签: events powershell powershell-2.0