Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [c++]full screen console

    come si fa ad eseguire una aplicazione programmata in c++ in ful screen??
    ciao cioao

  2. #2
    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.

  3. #3
    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.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    E' possibile usando la API SetConsoleDisplayMode (anche se non molto documentata ...)

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    305
    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.
    leggo per applicazione console....

    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

  6. #6
    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
    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.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    305
    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.
    ha ecco... perchè da codice si riesce ad andare in fullscreen.
    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

  8. #8
    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.

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    305
    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
    ha okay... ho capito!!

    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

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    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); 
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.