[ stameni @ 31.10.2004. 15:26 ] @
Windows 98, Visual C++ 6.0. Konzolna aplikacija treba sama sebe da maksimizuje u full-screen režim, kao kada se istovremeno pritisnu Alt i Enter. Kako to izvesti? |
[ stameni @ 31.10.2004. 15:26 ] @
[ leka @ 31.10.2004. 16:05 ] @
Ivane, Win98 kod nisam testirao jer nemam Win98. Evo ga:
Windows 95/98 Code: #include <windows.h> #include <conio.h> // Vazno kada se koristi MinGW #if __MINGW32__ # define cprintf _cprintf #endif int main(int argc, char** argv) { // Nadji nas konzolni prozor char con[120]; GetConsoleTitle(con,sizeof(con)); HWND w=FindWindow("tty",con); cprintf("Pritisnite taster za odlazak u 'fullscreen' mod. Nakon " "toga pritisnite bilo koji taster za povratak u Winblows!"); getch(); // Cekaj na pritisak tastera... // Idi u full-screen mod SendMessage(w,WM_COMMAND,57359,0); getch(); // Cekaj na pritisak tastera za izlazak iz programa. return 0; // Ponasaj se dobro i kazi sistemu da je sve okej. } Windows NT/XP Code: #include <windows.h> #include <iostream.h> #include <stdlib.h> #include <conio.h> // Vazno kada se koristi MinGW #if __MINGW32__ # define cprintf _cprintf #endif typedef BOOL WINAPI (*GetConsoleDisplayModeT)(DWORD*); typedef BOOL WINAPI (*SetConsoleDisplayModeT)(HANDLE,DWORD,DWORD*); GetConsoleDisplayModeT GetConsoleDisplayMode; SetConsoleDisplayModeT SetConsoleDisplayMode; int main(int argc, char** argv) { HINSTANCE hLib=LoadLibrary("KERNEL32.DLL"); SetConsoleDisplayMode=(SetConsoleDisplayModeT) GetProcAddress(hLib,"SetConsoleDisplayMode"); GetConsoleDisplayMode=(GetConsoleDisplayModeT) GetProcAddress(hLib,"GetConsoleDisplayMode"); HANDLE h=CreateFile("CONOUT$",GENERIC_WRITE|GENERIC_READ,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,0); DWORD oldmode; cprintf("Za pet sekundi idem u 'fullscreen' mode. Nakon toga " "pritisnite bilo koji taster za povratak u Winblows!"); Sleep(5000); // Cisto radi testa... // Ovde setujemo full scree mod... SetConsoleDisplayMode(h,1,&oldmode); getch(); // Cekaj da korisnik pritisne neki taster... return 0; } [ stameni @ 31.10.2004. 18:02 ] @
Ha, jedan SendMessage, a program se i maksimizuje i restoreuje; kako? Kako si odredio baš 57359 kao argument u SendMessage? Bezuspešno se vrtim po MSDN-u skoro pola sata :)
[ Gojko Vujovic @ 31.10.2004. 19:59 ] @
To bi trebalo da je nedokumentovan message id koji se inače šalje kada se radi taj "fullscreen toggle" preko tastature.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|