0

WPF では、次のコードを使用して IntPtr ハ​​ンドルを取得しています。

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

このハンドルを使い終わったら、とにかく解放する必要がありますか (たとえば、Marshal.FreeHGlobal() メソッドを使用)?

編集: Marshal.Release() ではなく、Marshal.FreeHGlobal() について考えていました。申し訳ありません!

4

1 に答える 1

4

これは COM とはまったく関係ありません。Marshal.Release() は適用されません。ネイティブ ウィンドウ ハンドルのコピーを取得するだけで、解放する必要はありません。ウィンドウが破棄されたら、ハンドルの使用を停止する必要があります。Window.Close イベントによって通知されます。

于 2013-03-09T17:49:27.500 に答える