| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
Lucer
Registrado: 10 Abr 2005 Mensajes: 5
| Publicado: 07/06/2005 5:37 am | | | Título: Pantalla completa en C |
| Hola,
Quisiera saber como pasar un programa ejecutado en consola ms dos a pantalla completa (es decir simular mediante un comando o alguna orden el ALT+INTRO). Trabajo en el Dev C++ y solo programo en C. Me podrian ayudar. Gracias
 |
|
| Volver arriba | |
 |
pitukilloloco
Registrado: 11 May 2005 Mensajes: 442
| Publicado: 07/06/2005 7:11 am | | | Título: |
| | Si lo que quieres es que mediante alguna función dentro de tu programa en C se posicione tu programa ocupando toda la pantalla tal como si hubieras presionado la combinación de teclas [Alt] [Intro] entonces me parece que no lo puedes hacer, ya que para el programa la consola es todo su marco de referencia y esto viene dado por Windows, como cuando cambias el tipo o tamaño de las letras. Windows proporciona un conjunto de funciones que puedes usar en modo consola, como manejar el ratón o cambiar los colores con que se muestra el texto, pero viendo todas estas funciones con el MSDN no vi ninguna con la cual pudieras hacer lo que quieres. |
|
| Volver arriba | |
 |
NELVIANT
Registrado: 04 Abr 2005 Mensajes: 151
| Publicado: 07/06/2005 7:47 am | | | Título: |
| Hola,
si estas en Windows XP puedes hacer los siguiente:
| Código: | int main() { SetConsoleDisplayMode(GetStdHandle(STD_OUTPUT_HANDLE),1,NULL);
.... }
|
Si el compilador no te reconoce la funcion tendras que cargarla con GetProcAddress desde Kernel32.dll
Un saludo |
|
| Volver arriba | |
 |
|
Alejandro_
Registrado: 26 Mar 2005 Mensajes: 254 Ubicación: Buenos Aires
| Publicado: 07/06/2005 6:51 pm | | | Título: Pantalla completa |
| Para simular la combinación ALT+ENTER, tienes la función keybd_event(). Acá abajo pongo un ejemplo bastante poco cuidado, por cierto, pero ustedes entenderán...
| Código: | #include <iostream> #include <windows.h>
using namespace std;
int main() { keybd_event(VK_MENU,0,0,0); // Presiona ALT keybd_event(VK_RETURN,0,0,0); // Presiona ENTER keybd_event(VK_MENU,0,KEYEVENTF_KEYUP,0); // Libera ALT keybd_event(VK_RETURN,0,KEYEVENTF_KEYUP,0); // Libera ENTER cout << "\n\nHola Mundo! En pantalla completa..." << endl; system("PAUSE"); keybd_event(VK_MENU,0,0,0); // lo mismo que arriba keybd_event(VK_RETURN,0,0,0); keybd_event(VK_MENU,0,KEYEVENTF_KEYUP,0); keybd_event(VK_RETURN,0,KEYEVENTF_KEYUP,0); cout << "Desde la ventana...\nAdios mundo cruel!" << endl; system("PAUSE"); return EXIT_SUCCESS; } |
Alejandro |
|
| Volver arriba | |
 |
pipecan
Registrado: 26 Ene 2006 Mensajes: 2
| Publicado: 26/01/2006 5:32 am | | | Título: Hola |
| A mi me funciono de la siguiente manera: Con el siguiente codigo
#include <iostream> #include <windows.h>
using namespace std;
main(){
HANDLE hConsoleOutput;
hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleDisplayMode(hConsoleOutput,1,NULL);
cout<<"Hola mundo\n"; system("pause"); }
Ademas en la libreria "includes\wincon.h" busca una declaracion que es asi
#if (_WIN32_WINNT >= 0x0501) BOOL WINAPI SetConsoleDisplayMode(HANDLE,DWORD,PCOORD); #endif
y desactiva la condicion para que se pueda declarar la funcion SetConsoleDisplayMode y guarda
//#if (_WIN32_WINNT >= 0x0501) BOOL WINAPI SetConsoleDisplayMode(HANDLE,DWORD,PCOORD); //#endif
esto en windows xp y con Dev c++ |
|
| Volver arriba | |
 |
Gabriel_p
Registrado: 11 Ago 2010 Mensajes: 1
| Publicado: 22/12/2011 3:14 pm | | | Título: |
| | a mi no me funciona en windows 7. cuando presiono la combinacion alt+enter me salta un error q dice: "este sistema no es compatible con el modo pantalla completa". Si alguien sabe de alguna solucion.garcias |
|
| Volver arriba | |
 |
|
untio

Registrado: 17 Sep 2008 Mensajes: 290 Ubicación: MICA S.A.
| Publicado: 24/12/2011 5:48 am | | | Título: |
| Hola,
Sólo quiero indicar que poner el comentario en la línea:
//#if (_WIN32_WINNT >= 0x0501)
No ayuda para nada. Más bien puede traer problemas al usuario de vuestro programa si usa una versión de Windows anterior a XP, porque en esos sistemas la función que viene después no funciona.
Si queréis usar la función que viene después en XP, escribid antes de incluir ningún fichero de cabecera:
#define _WIN32_WINNT 0x0501
Pero haréis vuestro programa compatible sólo con versiones iguales o mayores al sistema que ya he comentado.
Ah, y me parece que la función que queréis usar no está implementada en windows 7. Va siendo hora de empezar a hacer programas con interfaces gráficas (ventanas).
Espero que sea útil. _________________ Hago algo muy raro: primero leo las instrucciones. |
|
| Volver arriba | |
 |
cheroky
Registrado: 22 Sep 2005 Mensajes: 2479 Ubicación: Valladolid (España)
| Publicado: 24/12/2011 10:08 am | | | Título: |
| Hola.
No, en windows 7 y vista no hay consola maximizada sin ventana. Tuve que hacer un port a este sistema de un programa de meteorología escrito en curses (muy bueno por cierto) y la solución fue consultar la resolución del escritorio y redimensionar la ventana.
·?0ƒ· _________________ La cuestión no es si hay vida inteligente en otros planetas lejanos. La cuestión es si hay vida inteligente aquí. |
|
| Volver arriba | |
 |
|
|