複数のモニターがマシンに接続されています。そのうちの 2 つが外部ビデオ アダプターに接続され、2 つが内部ビデオ チップに接続されています。どのモニターが外部ビデオ アダプターに接続されているかを知る必要があります。それを見つける方法を教えてください。
EnumDisplayDevicesを調べたところ、 DISPLAY_DEVICE構造にDISPLAY_DEVICE_PRIMARY_DEVICE
フラグがあり、どのビデオ デバイスがプライマリ画面であるかを表示できます。しかし、タスク全体を解決するには十分ではありません。
アップデート:
私は試してみましたがEnumDisplayDevices
、そのDISPLAY_DEVICE
オブジェクトにはフィールドがありますDeviceString
。
DISPLAY_DEVICE DispDev;
ZeroMemory(&DispDev, sizeof(DispDev));
DispDev.cb = sizeof(DispDev);
DWORD nDeviceIndex = 0;
EnumDisplayDevices(NULL, nDeviceIndex, &DispDev, 0);
// DispDev.DeviceString now is what I need
これは、ビデオ アダプターの名前で構成されます (例: ) Intel(R) HD Graphics 4000
。ただし、名前は異なる場合があります。統合ビデオと外部ビデオを区別する方法