Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





¿Cómo saber el tamaño del escritorio?

Iniciado por Drácula, 01 de Enero de 1970, 01:00:00 AM

« anterior - próximo »

Drácula

                                Pues eso, necesito conocer el tamaño del escritorio y también su profundidad.

¿alguien sabe cómo?                                
ltimas mejoras en Merlín: Multitextura.Control y generación automática de LOD.Importa ASE y X. Frustum Clipping por BB.Render añadido de wireframe y del BB.Animaciones por interpolación.Animaciones de textura...
Actualmente:Octree y jerarquías

Emotion

                                Hola Dracula,

Usando la estructura DEVMODE lo puedes saber. Es como cuando quieres hacer pantalla completa y utilizas el DEVMODE para cambiarlo, pues tambien se puede utilizar para saber que tamaño y profundidad tenia el escritorio antes de cambiarlo para luego poder restaurarlo... es eso lo que quieres?

Saludos
                               
G3: Get the Power!

Astat

                                Prueba con:

GetSystemMetrics(SM_CXSCREEN);
GetSystemMetrics(SM_CYSCREEN);

o

GetDeviceCaps(hdcPrimaryMonitor, HORZRES);
GetDeviceCaps(hdcPrimaryMonitor, VERTRES);
GetDeviceCaps(hdcPrimaryMonitor, BITSPIXEL);


                               

ProD

                                También puedes usar un método de Direct3D llamado GetAdapterDisplayMode() al cual le pasas el adaptador (D3DADAPTER_DEFAULT si no te quieres complicar un poco la vida) y una estructura del tipo D3DDISPLAYMODE. El resultado de llamar a esta función será el ancho, alto, refresco y profundidad (formato) del escritorio, te aconsejo que mires la ayuda de DirectX para más información.

Un saludo.
                               
as ideas son capitales que sólo ganan intereses entre las manos del talento

MChiz

                                Hola Dracula!
Yo lo hago con la estructura DEVMODE. Luego llamas a la funcion EnumDisplaySettings y ya esta. Este es un ejemplo:

devMode.dmSize = sizeof( DEVMODE );
::EnumDisplaySettings( NULL, ENUM_CURRENT_SETTINGS, &devMode );
width  = devMode.dmPelsWidth;
height = devMode.dmPelsHeight;
bpp    = devMode.dmBitsPerPel;
                               

Drácula

                                Gracias a todos. La forma más sencilla me parece que es la de Emotion, puesto que ya tengo esa información por defecto, pero siempre es bueno conocer otras.
                               
ltimas mejoras en Merlín: Multitextura.Control y generación automática de LOD.Importa ASE y X. Frustum Clipping por BB.Render añadido de wireframe y del BB.Animaciones por interpolación.Animaciones de textura...
Actualmente:Octree y jerarquías






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.