Sign in to follow this  
Samurai Jack

Enumerating Monitor Name/Caption?

Recommended Posts

Greetings! I was wondering how it is possible to figure out the caption of a display monitor. For example I use 2 monitors, one is HP1740 and the other Iiyama Vision 450. The problem is, DirectX gives me values like Display1 and Display2. How am I supposed to know which display is Hp and which Iiyama? I have tried something like this, but nothing returns the desired name. I allways get Device 1 and Device 2.
for (i = 0; i < m_nAdapterCount; i++)
m_pDirect3D->GetAdapterIdentifier(i, 0, &m_pAdapterIdentifier[i]);
HMONITOR hMonitor = m_pDirect3D->GetAdapterMonitor(i);
m_pMonitorInfo[i].cbSize = sizeof(MONITORINFOEX);
GetMonitorInfo(hMonitor, &m_pMonitorInfo[i]);
Thank you in advance!

Share this post

Link to post
Share on other sites
Do you actually have the correct drivers for your monitors installed? The three machines in front of me all report similar "Display1" or "Plug and Play Monitor on ..." type information but I use the stock Windows drivers for mine...

I don't think there is any way to retrieve this information directly through DirectX/Direct3D - even 'dxdiag' reports the same unbranded information about outputs.

I would imagine you'll need to focus your research on regular Win32/DDI calls such as GetMonitorInfo().. I ran a quick forum and google search and found a few interesting leads [wink]


Share this post

Link to post
Share on other sites
Guest Anonymous Poster

If you goto this web page, at the bottom, there is a utility with source code that correctly displays the monitor information:

Hope this helps.


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this