1

画像をコピーして特定のタスクのために開くサードパーティ コンポーネントがありますが、ファイル ハンドルを解放していないようです。

そのコンポーネントのドキュメントを読んだことがありますが、2004 年にリリースされたもので、ハンドルを解放する特定の方法がありますが、もちろん (int bmpPtr) が必要です。したがって、それは明らかにポインターです。問題は、特定のファイルのオープン ハンドルを取得する方法はありますか?

そして、問題は C++ ではなく C# にあります。DLLImport を使用しないソリューションを希望しますが、実行可能ではないと思います。乾杯

4

3 に答える 3

1

コンポーネントの下からファイル ハンドルを閉じることは、おそらく最善の方法ではありません。C# から実行できるかどうかはわかりません。Disposeただし、使用しているコンポーネントのメソッドを探す必要があります。通常、Disposeファイル ハンドルなどのアンマネージ リソースをクリーンアップするために使用されます。

于 2009-07-09T14:06:32.610 に答える
1

これが当てはまるかどうかはわかりませんが、記録として: Image.FromFile でビットマップを読み込むと、画像が破棄されるまでファイルが開かれます。

于 2009-07-09T14:07:04.933 に答える
0

bmpPtr を必要とするメソッドがある場合、bmpPtr を返すメソッドがありました。呼び出した場所を見つけて、bmpPtr を保存し、後でそれを使用して解放します。

于 2009-07-09T14:06:40.957 に答える