HMONITOR とデバイス コンテキスト
各物理ディスプレイは、HMONITOR タイプのモニター ハンドルによって表されます。 有効な HMONITOR は NULL 以外であることが保証されます。 物理ディスプレイは、デスクトップの一部である限り、HMONITOR と同じ を持っています。 WM_DISPLAYCHANGE メッセージが送信されると、モニターがデスクトップから削除される可能性があるため、HMONITOR が無効になるか、設定が変更されます。 したがって、アプリケーションは、このメッセージが送信されるときに、すべての HMONITORS が有効かどうかを確認する必要があります。
通常、ディスプレイ デバイス コンテキスト (DC) を返す関数は、プライマリ モニターの DC を返します。 別のモニターの DC を取得するには、EnumDisplayMonitors 関数を使用します。 または、GetMonitorInfo 関数のデバイス名を使用して、CreateDCを使用DC を作成できます。 ただし、GetWindowDC や BeginPaintなどの関数が複数のディスプレイにまたがるウィンドウの DC を取得する場合、DC は 2 つのディスプレイにまたがることもあります。