Vollbild ?!



  • Wie ich neulich eine Konsole in den Vollildmodus bringen wollte ( Habe die Tasten kombi : Enter+Alt : an windows geschickt ) kam die meldung : Vollbildmodus wird von diesem System nicht unterstützt ! : ( Mein system ist Win Vista ) !

    Aber jetzt das Krasse an der Sache : Ich habe im interne einen Code gefunden der die SDL benutzt . Habe die beigelegte Applikation starten wollen und siehe da :
    Die Konsole Schlatet in den Fullscreen 😮 😮 😮 !

    Habe dann den Quellcode geprüft . War im "Konsolenformat" geschrieben !!!

    Meine Frage - warum funktioniert das mit der SDL und nicht mit dem ganz normalen Befehl Alt+Enter 😕 😕 ??

    (Ich bin kein Profi 😞 , bitte ganz einfach erklären 🙂 )



  • weil vista kacke ist ? 😃



  • das würde ich jetz auch sagen.......... :p



  • C++Laie1 schrieb:

    Meine Frage - warum funktioniert das mit der SDL und nicht mit dem ganz normalen Befehl Alt+Enter 😕 😕 ??

    Weil die Win32-Konsole es nicht kann, die SDL aber schon? Die Konsole ist auch nur ein Programm, das Funktionen anbietet. Wenn die Konsole die Funktion nicht hat, dann hat sie sie nicht.



  • Die Konsole kann in den Fullscreen modus verstzt werden , aber NICHT unter Vista !!
    😡 😡



  • Probier's doch auch einmal per Code:

    #include <windows.h>
    #include <iostream>
    #include <cstdlib>
    
    class console{
    private:
    	bool current_mode;
    public:
    	void toggle_displaymode(void){
    		if(this->current_mode==false){
    			this->set_consoledisplaymode_fullscreen();
    			system("CLS");
    			std::cout<<"FULLSCREEN";
    		}
    		else{
    			this->set_consoledisplaymode_window();
    			system("CLS");
    			std::cout<<"WINDOW";
    		}
    	}
    private:
    	void set_consoledisplaymode_fullscreen(void){
    		HMODULE kernel32_dll=LoadLibraryA("kernel32.dll");
    		typedef BOOL(WINAPI  *mac)(HANDLE,DWORD,PCOORD);
    		const char *fname="SetConsoleDisplayMode";
    		mac set_mode=reinterpret_cast<mac>(GetProcAddress(kernel32_dll,fname));
    		COORD new_dimension;
    		set_mode(GetStdHandle(STD_OUTPUT_HANDLE),1,&new_dimension);
    		this->current_mode=true;
    	}
    	void set_consoledisplaymode_window(void){
    		HMODULE kernel32_dll=LoadLibraryA("kernel32.dll");
    		typedef BOOL(WINAPI  *mac)(HANDLE,DWORD,PCOORD);
    		const char *fname="SetConsoleDisplayMode";
    		mac set_mode=reinterpret_cast<mac>(GetProcAddress(kernel32_dll,fname));
    		COORD new_dimension;
    		set_mode(GetStdHandle(STD_OUTPUT_HANDLE),2,&new_dimension);
    		this->current_mode=false;
    	}
    };
    
    int main(void){
    	console con;
    LOOP:
    	con.toggle_displaymode();
    	char inp; std::cin.get(inp);
    	if(inp=='Q'||inp=='q'){
    		return 0;
    	}
    	else{
    		goto LOOP;
    	}
    }
    


  • Der code funzt auch nicht , es wird zwar Winowed und fullscreen angezeigt aber so wirklich ändern tut sich nix !!



  • hi !
    ich selbär hab vista nicht, aber kann man die konsole bei vista überhaupt in den vollbildmodus schalten ?



  • wenn ja, dann wird das wohl auch programmgesteuert gehen.


Anmelden zum Antworten