Geo*_*kos 7 powershell events powershell-2.0
Register-ObjectEvent在必需参数InputObject中查找对象实例.对象的静态(共享)事件的语法是什么?
更新:更正TimeChanged的语法:
$systemEvents = [Microsoft.Win32.SystemEvents]
$timeChanged = Register-ObjectEvent -InputObject $systemEvents
-EventName 'TimeChanged' -Action { Write-Host "Time changed" }
Run Code Online (Sandbox Code Playgroud)
不幸的是,系统事件不会在PowerShell ISE中发出信号.以下是使用对象的staic事件的示例:
$networkInformation = [System.Net.NetworkInformation.NetworkChange];
$networkAddressChanged = Register-ObjectEvent -InputObject $networkInformation
-EventName 'NetworkAddressChanged'
-Action { Write-Host "NetworkAddressChanged event signaled" }
Run Code Online (Sandbox Code Playgroud)
如果为变量分配静态类型,则可以订阅静态事件.
例如:
$MyStaticType = [MyStaticNamespace.MyStaticClass]
Register-ObjectEvent -InputObject $MyStaticType -EventName MyStaticEvent -Action {Write-Host "Caught a static event"}
Run Code Online (Sandbox Code Playgroud)
要查找类型可能具有的任何静态事件,可以将Get-Member与-Static开关一起使用
[MyStaticNamespace.MyStaticClass] | get-member -static -membertype event
Run Code Online (Sandbox Code Playgroud)
编辑: 当我尝试访问[Microsoft.Win32.SystemEvents]事件时,我确实注意到我需要在高架提示符(在Vista及更高版本)上运行才能访问消息.
| 归档时间: |
|
| 查看次数: |
1216 次 |
| 最近记录: |