come si fa ad eseguire una aplicazione programmata in c++ in ful screen??
ciao cioao
come si fa ad eseguire una aplicazione programmata in c++ in ful screen??
ciao cioao
Se si tratta di un'appplicazione console in full screen (come si evince dal titolo) deve essere l'utente a intervenire, premendo ALT+INVIO (in Windows) o un'altra combinazione di tasti nella finestra del terminale in Linux. In Windows questa opzione può essere abilitata di default nelle proprietà della finestra console.
Amaro C++, il gusto pieno dell'undefined behavior.
io dicevo in fase di programmazione se si puo inserire qualche codice x farlo eseguire in automatico il full screen..
e nn premere pulsanti ke olteretutto risulterebbe anke 1 pò scomodo.
E' possibile usando la API SetConsoleDisplayMode (anche se non molto documentata ...)
leggo per applicazione console....Originariamente inviato da Lillo_hacker
io dicevo in fase di programmazione se si puo inserire qualche codice x farlo eseguire in automatico il full screen..
e nn premere pulsanti ke olteretutto risulterebbe anke 1 pò scomodo.
io uso questo per applicazione console per win32 con vc6.
ripeto applicazione console per win32, dove puoi fare le msgbox sotto console:
copia questo codice nel main:
keybd_event(VK_MENU, 0, 0, 0);
keybd_event(VK_RETURN, 0, 0, 0);
keybd_event(VK_MENU, 0, 2, 0);
keybd_event(VK_RETURN, 0, 2, 0);
la console và in fullscreen, perlomeno a me.
sinceramente non sò perchè và in fullscreen
ciao
Oki.lib Libreria per creare il proprio Engine del sound nei propri progetti
http://www.twork.it/public/oki/guestbook.asp
Sistemi di Gestione Studio e Sviluppo per giochi a pronostici
http://www.twork.it/programmi/programmi.html
Con questo codice stai dicendo a Windows di simulare la pressione di ALT+INVIO: alla prima riga gli dici di premere ALT, alla seconda INVIO, alla terza rilasci ALT e alla quarta rilasci INVIO.Originariamente inviato da scancode
copia questo codice nel main:
keybd_event(VK_MENU, 0, 0, 0);
keybd_event(VK_RETURN, 0, 0, 0);
keybd_event(VK_MENU, 0, 2, 0);
keybd_event(VK_RETURN, 0, 2, 0);
la console và in fullscreen, perlomeno a me.
sinceramente non sò perchè và in fullscreen
Questo codice presenta diversi problemi: innanzitutto se il programma è già a pieno schermo l'esecuzione di questo codice determinerà il passaggio a modalità finestra, in più se durante l'esecuzione del codice il focus è impostato su un'altra finestra questa falsa pressione di tasti avrà effetto su di essa.
Amaro C++, il gusto pieno dell'undefined behavior.
ha ecco... perchè da codice si riesce ad andare in fullscreen.Originariamente inviato da MItaly
Con questo codice stai dicendo a Windows di simulare la pressione di ALT+INVIO: alla prima riga gli dici di premere ALT, alla seconda INVIO, alla terza rilasci ALT e alla quarta rilasci INVIO.
Questo codice presenta diversi problemi: innanzitutto se il programma è già a pieno schermo l'esecuzione di questo codice determinerà il passaggio a modalità finestra, in più se durante l'esecuzione del codice il focus è impostato su un'altra finestra questa falsa pressione di tasti avrà effetto su di essa.
simula ALT+INVIO... giusto, giusto.
E' un vecchio codice che ho ritrovato sul pc muletto (win98)... e me lo ricordavo di averlo da qualche parte.
allora si può richiamare con una funzione così:
//vai in fullscreen
Max();
//vai in finestra
Min();
void Min() const
{
if (Error) return;
keybd_event(VK_MENU, 0, 0, 0);
keybd_event(VK_RETURN, 0, 0, 0);
}
void Max() const
{
if (Error) return;
keybd_event(VK_MENU, 0, 2, 0);
keybd_event(VK_RETURN, 0, 2, 0);
}
Oki.lib Libreria per creare il proprio Engine del sound nei propri progetti
http://www.twork.it/public/oki/guestbook.asp
Sistemi di Gestione Studio e Sviluppo per giochi a pronostici
http://www.twork.it/programmi/programmi.html
Assolutamente no, quelle quattro istruzioni sono "indivisibili":
codice://Queste quattro istruzioni rappresentano il premere ALT+INVIO e rilasciare i tasti. // Stato dei tasti (P=premuto R=rilasciato): ALT INVIO keybd_event(VK_MENU, 0, 0, 0); //Preme e tiene premuto ALT P R keybd_event(VK_RETURN, 0, 0, 0); //Preme e tiene premuto INVIO P P->qui va in fullscreen/ritorna alla finestra keybd_event(VK_MENU, 0, 2, 0); //Rilascia ALT R P keybd_event(VK_RETURN, 0, 2, 0); //Rilascia INVIO R R
Amaro C++, il gusto pieno dell'undefined behavior.
ha okay... ho capito!!Originariamente inviato da MItaly
Assolutamente no, quelle quattro istruzioni sono "indivisibili":
codice://Queste quattro istruzioni rappresentano il premere ALT+INVIO e rilasciare i tasti. // Stato dei tasti (P=premuto R=rilasciato): ALT INVIO keybd_event(VK_MENU, 0, 0, 0); //Preme e tiene premuto ALT P R keybd_event(VK_RETURN, 0, 0, 0); //Preme e tiene premuto INVIO P P->qui va in fullscreen/ritorna alla finestra keybd_event(VK_MENU, 0, 2, 0); //Rilascia ALT R P keybd_event(VK_RETURN, 0, 2, 0); //Rilascia INVIO R R
allora per passare in fullscreen chiama così:
max();
void max()
{
keybd_event(VK_MENU, 0, 0, 0);
keybd_event(VK_RETURN, 0, 0, 0);
keybd_event(VK_MENU, 0, 2, 0);
keybd_event(VK_RETURN, 0, 2, 0);
}
Oki.lib Libreria per creare il proprio Engine del sound nei propri progetti
http://www.twork.it/public/oki/guestbook.asp
Sistemi di Gestione Studio e Sviluppo per giochi a pronostici
http://www.twork.it/programmi/programmi.html
Questo dovrebbe andare
codice:#include <windows.h> const char KERNEL32[] = "kernel32.dll"; typedef BOOL (WINAPI *SCDMProc_t) (HANDLE, DWORD, LPDWORD); int main( void ) { SCDMProc_t SetConsoleDisplayMode; HMODULE hK32; hK32 = GetModuleHandleA(KERNEL32); if (!hK32) { hK32 = LoadLibraryA(KERNEL32); if (!hK32) return(1); } SetConsoleDisplayMode = (SCDMProc_t)GetProcAddress(hK32, "SetConsoleDisplayMode"); if (!SetConsoleDisplayMode) SetLastError(ERROR_CALL_NOT_IMPLEMENTED); else { DWORD dmy; SetConsoleDisplayMode(GetStdHandle(STD_OUTPUT_HANDLE), 1, &dmy); } FreeLibrary(hK32); printf("Hello world!\n"); system("PAUSE"); return(0); }