Sign in to follow this  
LeLorrain

How to get the monitor name in DX9

Recommended Posts

LeLorrain    130
Hi! I have found that I can get the monitor name using "EnumDisplayDevices()" but, how do I re-conciliate the results with D3D enumeration? I have one graphics adapter with two monitors and I get the following results: EnumDisplayDevices: Two displays, each with two monitors \\.\DISPLAY1\MONITOR0 and \\.\DISPLAY1\MONITOR1 \\.\DISPLAY2\MONITOR0 and \\.\DISPLAY1\MONITOR1 (Note: I did retain only the display with flag "DISPLAY_DEVICE_ATTACHED_TO_DESKTOP") D3DEnumeration: Two adapters \\.\DISPLAY1 \\.\DISPLAY2 Do I have to assume the display1 will ALWAYS have monitor0 attached and display2 monitor1? (From the maximum resolution given by the enumeration that seem to be case: monitor0 has 1920x1200 and monitor1 has 2048 x 1536.) Or is there a way to differentiate? Thanks. LeLorrain

Share this post


Link to post
Share on other sites
LeLorrain    130
Hummm... "GetPhysicalMonitorsFromIDirect3DDevice9" could do it, Mat, but MSDN says that it works only with Vista and up and I am using XP. Nevertheless, I will try it and report the results. <<edited: "undeclared identifier"!>>

There is also "GetPhysicalMonitorsFromHMONITOR" which also works only on Vista+!

Thanks.

[Edited by - LeLorrain on April 29, 2010 11:14:59 PM]

Share this post


Link to post
Share on other sites
Programmer16    2321
AFAIK the only way to retrieve the name of a device is to find it in the registry and reading and parsing the DeviceDesc key. Otherwise you can use GetAdapterIdentifier() from Direct3D9 interface to get the name of the adapter (graphics card series usually.)

Share this post


Link to post
Share on other sites
LeLorrain    130
Programmer16: Adaptor Identifier provides the same name for both (e.g. "ATI Radeon HD 4800 Series") but the device names are different (\\.\DISPLAY1 and \\.\DISPLAY2.) My problem is that I also get both monitor devices on each adaptor.

I do Have in the enumeration the registry keys, so i guess I'm gonna have to dig into it if I really want to find the monitor names.

Now, I realize that it would be useless if both monitors were identical!
So I might as well forget about it!

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