成功すると、ShellExecuteはハンドルを返します。
このハンドルを閉じる必要がありますか?もしそうなら、どのように?
私のMicrosoftが公開した例によると、このハンドルを閉じる必要はありません。しかし、ShellExecute自体のドキュメントは、この件に関しては無言です。このハンドルを閉じる必要がないことを確認できますか?
しかし、それでは、どのようにしてハンドルを有効にし、閉じる必要がないのでしょうか?次の説明のうち、正しいものはどれですか。
- ハンドルが無効であり、何もできません。
- ハンドルが解放されることはなく、(Microsoftが後援する)メモリリークが発生します(呼び出し元プログラムが終了するまで)。
- ハンドルは、ある時点でシステムによって自動的に解放され、後で再利用されることはありません(->別の種類のリソースリーク)。それを使おうとすると、それがまだ何かを指しているかどうかを知ることができます。
- ほかに何か ?