グローバルフックを使用して、デスクトップ上の他のウィンドウにいくつかの(ユーザーがカスタマイズ可能な)アイコンを描画するユーティリティプログラムを作成しています。ビットマップオブジェクトはプロセスに固有であるため、描画する前に、プロセスごとにこれらのアイコン用に個別のHBITMAPオブジェクトを作成し、これらのハンドルはすべてdllの共有セグメントに格納されます。
これで、プログラムでアイコンが(ユーザーによって)削除されたときに、これらのさまざまなプロセスでのアイコンのすべてのHBITMAPオブジェクトを削除する必要があります。メインプログラムでDeleteObject()を使用してこれを行うことはできますか、それとも作成されたプロセスで各ハンドルを削除する必要がありますか?