Ĺadny brzuch
Witam,
Ja dopiero zacząłem naukę z C++, i mam takie pytanko jak i w ogóle czy da się zrobić, by te zwykłe, proste programy, były w trybie pełnoekranowym ? :unsure:
//
Konsola :)
Użytkownik muffy_3 edytował ten post 26 wrzesień 2005, 21:35
zwykle, proste - co przez to rozumiesz? konsola? winapi?
Jeżeli chodzi o konsolę, to lewy Alt+Enter. No a w programach okienkowych, to zależy w czym piszesz, ale zwykle jest metoda okna, która coś takiego robi. Skoro piszesz, że proste, to chyba jednak chodzi o konsolę...
Jeśli chodzi o WinAPI to poszukaj na google struktury DEVMODE, a także funkcji ChangeDisplaySettings, a do tego flage okna (przy tworzeniu poprzez CreateWindow(ex?)) - niepamiętam którą - ustawić na WS_POPUP. Wszystko masz na googlu, google you friend, a właśnie ma 7 urodziny :D
A mógłby ktoś poprostu wpisać jak zrobić by od razu był pełny ekran ?
Czy tylko da się tak jak chodnik ? Bo zależy mi na tym, aby był pełny ekran :)
I jeszcze raz mówie, dla konsoli...
A czy moglbys po prostu poszukac/pomyslec? Troche zdrowego wysilku jeszcze nikomu nie zaszkodzilo.
Jeśli chodzi ci o konsole Windows:
a) NT
void FullScr() { typedef BOOL WINAPI (*SetConsoleDisplayModeT)(HANDLE,DWORD,DWORD*); SetConsoleDisplayModeT SetConsoleDisplayMode; HINSTANCE hLib = LoadLibrary("KERNEL32.DLL"); SetConsoleDisplayMode = ( SetConsoleDisplayModeT ) GetProcAddress(hLib,"SetConsoleDisplayMode"); DWORD oldmode; SetConsoleDisplayMode(GetStdHandle(STD_OUTPUT_HANDLE) ,1,&oldmode); FreeLibrary(hLib); }
b) 9x
bool FullScr() { BOOL ok = FALSE; // console finding guid // a unique number to identify this console - replace this with your own #define CON_GUID TEXT("CON_GUID-{68E311EF-BF32-4b0f-8D35-E84E4A463096}") // hwnd for console window HWND hConWnd = NULL; // magic command WPARAM magic = 57359; // buffer for storing a substitute title TCHAR szTempTitle[] = CON_GUID; // buffer for storing current console title TCHAR szTempString[MAX_PATH]; // obtain the current console title if( GetConsoleTitle(szTempString, sizeof(szTempString)/sizeof(TCHAR) ) ) { // replace the current title with substitute title SetConsoleTitle(szTempTitle); // give it a chance to set in Sleep(50); // locate the console window // console window class on W9x is "tty" hConWnd = FindWindow(TEXT("tty"), szTempTitle); // restore the original console title SetConsoleTitle(szTempString); } // verify the console hwnd if ( hConWnd != NULL ) { // pause before changing to fullscreen Sleep(450); // this method works by faking a keyboard command SendMessage(hConWnd,WM_COMMAND,magic,0); ok = TRUE; } return ok; }
Użytkownik Ku.ririn edytował ten post 28 wrzesień 2005, 16:20
Możesz zrobić jeszcze coś takiego, jeżeli program uruchamiasz pod XP:
-uruchom normalnie egzeka, którego skompilowałeś;
-na konsoli, która się pojawi kliknij prawym klawiszem myszy na belkę i z menu rozwijanego wybierz właściwości;
-na zakładce "Opcje" w panelu "Opcje wyświetlania" zaznacz "Pełny ekran" i kliknij OK;
-w oknie, które się pojawi zaznacz "Zapisz właściwości dla przyszłych okien o tej samej nazwie" i naciśnij OK.
Program powinien zmienić tryb na pełnoekranowy teraz i przy każdym następnym uruchomieniu. Zapewniam, że ten opis jest bardziej skomplikowany niż jego wykonanie. :D
Mam Nadzieję, że tym razem o to chodziło...
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Ja dopiero zacząłem naukę z C++, i mam takie pytanko jak i w ogóle czy da się zrobić, by te zwykłe, proste programy, były w trybie pełnoekranowym ? :unsure:
//
Konsola :)
Użytkownik muffy_3 edytował ten post 26 wrzesień 2005, 21:35
zwykle, proste - co przez to rozumiesz? konsola? winapi?
Jeżeli chodzi o konsolę, to lewy Alt+Enter. No a w programach okienkowych, to zależy w czym piszesz, ale zwykle jest metoda okna, która coś takiego robi. Skoro piszesz, że proste, to chyba jednak chodzi o konsolę...
Jeśli chodzi o WinAPI to poszukaj na google struktury DEVMODE, a także funkcji ChangeDisplaySettings, a do tego flage okna (przy tworzeniu poprzez CreateWindow(ex?)) - niepamiętam którą - ustawić na WS_POPUP. Wszystko masz na googlu, google you friend, a właśnie ma 7 urodziny :D
A mógłby ktoś poprostu wpisać jak zrobić by od razu był pełny ekran ?
Czy tylko da się tak jak chodnik ? Bo zależy mi na tym, aby był pełny ekran :)
I jeszcze raz mówie, dla konsoli...
A czy moglbys po prostu poszukac/pomyslec? Troche zdrowego wysilku jeszcze nikomu nie zaszkodzilo.
Jeśli chodzi ci o konsole Windows:
a) NT
void FullScr() { typedef BOOL WINAPI (*SetConsoleDisplayModeT)(HANDLE,DWORD,DWORD*); SetConsoleDisplayModeT SetConsoleDisplayMode; HINSTANCE hLib = LoadLibrary("KERNEL32.DLL"); SetConsoleDisplayMode = ( SetConsoleDisplayModeT ) GetProcAddress(hLib,"SetConsoleDisplayMode"); DWORD oldmode; SetConsoleDisplayMode(GetStdHandle(STD_OUTPUT_HANDLE) ,1,&oldmode); FreeLibrary(hLib); }
b) 9x
bool FullScr() { BOOL ok = FALSE; // console finding guid // a unique number to identify this console - replace this with your own #define CON_GUID TEXT("CON_GUID-{68E311EF-BF32-4b0f-8D35-E84E4A463096}") // hwnd for console window HWND hConWnd = NULL; // magic command WPARAM magic = 57359; // buffer for storing a substitute title TCHAR szTempTitle[] = CON_GUID; // buffer for storing current console title TCHAR szTempString[MAX_PATH]; // obtain the current console title if( GetConsoleTitle(szTempString, sizeof(szTempString)/sizeof(TCHAR) ) ) { // replace the current title with substitute title SetConsoleTitle(szTempTitle); // give it a chance to set in Sleep(50); // locate the console window // console window class on W9x is "tty" hConWnd = FindWindow(TEXT("tty"), szTempTitle); // restore the original console title SetConsoleTitle(szTempString); } // verify the console hwnd if ( hConWnd != NULL ) { // pause before changing to fullscreen Sleep(450); // this method works by faking a keyboard command SendMessage(hConWnd,WM_COMMAND,magic,0); ok = TRUE; } return ok; }
Użytkownik Ku.ririn edytował ten post 28 wrzesień 2005, 16:20
Możesz zrobić jeszcze coś takiego, jeżeli program uruchamiasz pod XP:
-uruchom normalnie egzeka, którego skompilowałeś;
-na konsoli, która się pojawi kliknij prawym klawiszem myszy na belkę i z menu rozwijanego wybierz właściwości;
-na zakładce "Opcje" w panelu "Opcje wyświetlania" zaznacz "Pełny ekran" i kliknij OK;
-w oknie, które się pojawi zaznacz "Zapisz właściwości dla przyszłych okien o tej samej nazwie" i naciśnij OK.
Program powinien zmienić tryb na pełnoekranowy teraz i przy każdym następnym uruchomieniu. Zapewniam, że ten opis jest bardziej skomplikowany niż jego wykonanie. :D
Mam Nadzieję, że tym razem o to chodziło...