Konsole im Vollbildmodus starten
-
Hallo, Gibt es ne Möglichkeit die Konsole direkt im Volbildmodus zu starten? (Also das was passiert wenn man ALT+ENTER drückt)
-
greetz, Swordfish
-
hm die geht irgendwie net. Hab kernel32.lib und windows.h eingebunden. Kann das daran liegen, dass ich net Visual C++ benutze? DevC++ gibt jedenfalls das hier aus:
'SetConsoleDisplayMode' undeclared (first use this function)
Muss ich noch was einbinden?
-
PsychoticStyx schrieb:
hm die geht irgendwie net. Hab kernel32.lib und windows.h eingebunden. Kann das daran liegen, dass ich net Visual C++ benutze? DevC++ gibt jedenfalls das hier aus:
'SetConsoleDisplayMode' undeclared (first use this function)
Muss ich noch was einbinden?das geht nicht mal mit ner alten visual c++ ide.
ich hab z.b. SetConsoleDisplayMode auch nicht bei meinem vs 6.0
-
probier das doch mal:
#include <windows.h> #include <stdio.h> void fs() { keybd_event(VK_MENU, 0x38, 0, 0); keybd_event(VK_RETURN, 0x1c, 0, 0); keybd_event(VK_RETURN, 0X1c, KEYEVENTF_KEYUP, 0); keybd_event(VK_MENU, 0x38, KEYEVENTF_KEYUP, 0); } int main() { fs(); printf("This is a fullscreen C++ application!!!\n"); system("PAUSE"); return 0; }
-
PsychoticStyx schrieb:
hm die geht irgendwie net. Hab kernel32.lib und windows.h eingebunden. Kann das daran liegen, dass ich net Visual C++ benutze? DevC++ gibt jedenfalls das hier aus:
[...]
Muss ich noch was einbinden?In der MSDN steht doch eindeutig
<wincon.h>
oder?
also:#define _WIN32_WINNT 0x0501 /* Windows NT 5.1 or higher */ #include <windows.h> #include <wincon.h> int main ( ) { COORD dimension; SetConsoleDisplayMode( GetStdHandle( STD_OUTPUT_HANDLE ), CONSOLE_FULLSCREEN_MODE, &dimension ); }
BTW: DevC++ wird seit Februar 2005 nicht mehr weiterentwickelt und der zugehörige MingW Compiler ist dementsprechend veraltet. Mit einem aktuellen MinGW (wie zum Beispiel bei Code:Blocks dabei) funktioniert das ohne Probleme.
proggingmania schrieb:
#include <stdio.h> // ... printf("This is a fullscreen C++ application!!!\n");
der ist gut!
Selbst wenn die Libraries deines Compilers
SetConsoleDisplayMode
nicht unterstützten, ist das kein Grund es ab Windows XP/2003 Server nicht zu verwenden:#include <cstdlib> #include <iostream> #include <windows.h> int main ( ) { const DWORD console_fullscreen_mode = 1; const DWORD console_windowed_mode = 2; const char kernel_dll_file_name[ ] = "kernel32.dll"; const char function_name[ ] = "SetConsoleDisplayMode"; HMODULE kernel_dll = LoadLibrary( kernel_dll_file_name ); if( !kernel_dll ) { std::cerr << "Failed to load \"" << kernel_dll_file_name << "\"!" << std::endl; return EXIT_FAILURE; } typedef BOOL ( WINAPI *set_console_display_mode_fpt )( HANDLE, DWORD, PCOORD ); set_console_display_mode_fpt set_console_display_mode = reinterpret_cast< set_console_display_mode_fpt >( GetProcAddress( kernel_dll, function_name ) ); if( !set_console_display_mode ) { std::cerr << "\"" << function_name << "\" couldn't be found in \"" << kernel_dll_file_name << "\"!" << std::endl; std::cerr << "Maybe I'm not running under Windows XP/2003 Server or higher?" << std::endl; FreeLibrary( kernel_dll ); return EXIT_FAILURE; } COORD dimension; if( !set_console_display_mode( GetStdHandle( STD_OUTPUT_HANDLE ), console_fullscreen_mode, &dimension ) ) { std::cerr << "Couldn't set fullscreen mode for the current console." << std::endl; FreeLibrary( kernel_dll ); return EXIT_FAILURE; } FreeLibrary( kernel_dll ); }
Compiliert anstandslos mit MinGW v3.4.5...
greetz, Swordfish
-
Danke geht! Hab das mit der DLL total verpeilt und mich gewundert warums net ging^^ Sry...