WindowInteropHelper.Handle - 我需要释放它吗?

时间:2013-03-09 16:13:20

标签: wpf winapi com

在WPF中,我使用以下代码获取IntPtr句柄:

IntPtr mainWindowHandle = new WindowInteropHelper(Application.Current.MainWindow).Handle

当我完成使用此句柄时,是否需要以任何方式释放它(例如使用Marshal.FreeHGlobal()方法)?

编辑:我在考虑Marshal.FreeHGlobal(),而不是Marshal.Release(),抱歉!

1 个答案:

答案 0 :(得分:4)

这与COM无关,Marshal.Release()不适用。您只需获取本机窗口句柄的副本,就不必释放它。窗口被销毁时,您需要停止使用句柄。由Window.Close事件发出信号。