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