PowerShell - Release ComObject



我正在创建一个新的com对象来打开弹出消息

$a = new-object -comobject wscript.shell
$b = $a.popup(“WARNING“,0,”Box title”,0 + 0x30)

我注意到这个物体一直是打开的。我需要释放它吗?下面的命令可以完成这项工作吗?

$null = [System.Runtime.Interopservices.Marshal]::ReleaseComObject($a)
[System.GC]::Collect()
[System.GC]::WaitForPendingFinalizers()

是的,这是很好的做法。通过释放com对象,它被标记为由垃圾收集器销毁的清理。

实际上,对象的引用计数器减少,如果它达到零,则在垃圾收集器运行时将对象从内存中删除。当时无法控制这种情况确实会发生,但通过这种方式,你可以确保物体被移除。看到

最新更新