複数のモニターを独立したディスプレイとして使用する

複数のモニターを独立したディスプレイとして使用する場合、デスクトップには 1 つのディスプレイまたはディスプレイのセットが含まれます。 この一連のディスプレイには、常にプライマリ モニターが含まれており、このトピックの他のセクションで説明されているように動作します。 アプリケーションは、独立したディスプレイとして他のモニターを使用できます。

注意

他のモニターを独立したディスプレイとして使用することは、Windows ディスプレイ ドライバー モデル (WDDM) に実装されているドライバーではサポートされていません。

 

ウィンドウ マネージャーは、独立したディスプレイについて何も知らない。 アプリケーションによって完全に制御され、アプリケーションで使用できるウィンドウ マネージャー関数はありません (すべてのウィンドウ マネージャー呼び出しは自動的にプライマリ ディスプレイに移動します)。 独立した各ディスプレイには、独自の原点と水平方向と垂直方向の座標があり、 CreateDC などの GDI 関数または DirectDrawCreate などの DirectX 関数を介してアクセスされます。

独立したディスプレイを見つけるには、 EnumDisplayDevices を呼び出し、 DISPLAY_DEVICE構造体に DISPLAY_DEVICE_ATTACHED_TO_DESKTOP フラグがないディスプレイを探します。

アプリケーションは、 を呼び出すことによってディスプレイを開くことができます。

hdc = CreateDC(lpszDisplayName, NULL, NULL, lpDevMode);

この呼び出しでは、 lpszDisplayName パラメーターは EnumDisplayDevices によって返されるデバイス名の 1 つであり、 lpDevMode はこのデバイスのグラフィックス モードの説明です。 結果の hdc を使用して、デバイスに対して任意のグラフィックス操作を実行できます。