Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: Drácula en 01 de Enero de 1970, 01:00:00 AM

Título: ¿Cómo saber el tamaño del escritorio?
Publicado por: Drácula en 01 de Enero de 1970, 01:00:00 AM
                                Pues eso, necesito conocer el tamaño del escritorio y también su profundidad.

¿alguien sabe cómo?                                
Título: ¿Cómo saber el tamaño del escritorio?
Publicado por: Emotion en 01 de Enero de 1970, 01:00:00 AM
                                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
                               
Título: ¿Cómo saber el tamaño del escritorio?
Publicado por: Astat en 01 de Enero de 1970, 01:00:00 AM
                                Prueba con:

GetSystemMetrics(SM_CXSCREEN);
GetSystemMetrics(SM_CYSCREEN);

o

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


                               
Título: ¿Cómo saber el tamaño del escritorio?
Publicado por: ProD en 01 de Enero de 1970, 01:00:00 AM
                                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.
                               
Título: ¿Cómo saber el tamaño del escritorio?
Publicado por: MChiz en 01 de Enero de 1970, 01:00:00 AM
                                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;
                               
Título: ¿Cómo saber el tamaño del escritorio?
Publicado por: Drácula en 01 de Enero de 1970, 01:00:00 AM
                                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.