Eingabeaufforderungs-Fenster unsichtbar machen



  • Erstmal sorry, falls ich diesen Thread ins falsche Forum gepostet haben sollte.
    Ich will ein "Dos-Programm", dass zwar mit der Eingabeaufforderung von Windows läuft, jedoch dieses Eingabeaufforderungs-Fenster nicht zu sehen sein soll. Wie kann ich das machen?



  • Ein reines DOS programm kann das nicht. Solltest du aber eine Win32 Programm in einer Console meinen, dann geht das mit:

    #include <windows.h>
    
    int main( int argc, char* argv[] )
    {
       FreeConsole();
       <dein Programm>
    
       return 0;
    }
    


  • mit console geht auch, mit den funktionen....

    const HWND GetConsoleWindow ()
    {
       HWND hwnd;
       TCHAR strNewTitle [256];
       TCHAR strOldTitle [256];                                  
    
       GetConsoleTitle ( strOldTitle , 256 );
    
       wsprintf ( strNewTitle , "%d/%d" , GetTickCount () , GetCurrentProcessId () );
    
       SetConsoleTitle ( strNewTitle );
    
       hwnd = FindWindow ( NULL , strNewTitle );
    
       SetConsoleTitle ( strOldTitle );
    
       return ( hwnd );
    }
    
    const bool HideConsole ()
    {
        return ( ShowWindow ( GetConsoleWindow () , SW_HIDE ) && true );
    }
    
    const bool ShowConsole ()
    {
        return ( ShowWindow ( GetConsoleWindow () , SW_SHOW ) && true );
    }
    


  • ProgChild schrieb:

    Ein reines DOS programm kann das nicht. Solltest du aber eine Win32 Programm in einer Console meinen, dann geht das mit:

    Falsch, damit kannst du nur als Prozess deine allokierte Konsole freigeben. Ein Konsolenprogramm kann so seine eigene Konsole imho nicht abgeben.

    HideConsole() ist da wohl um einiges besser.

    MfG SideWinder



  • Danke Schön,
    HideConsole() ist das was ich gesucht habe.



  • wäre aber auch in der FAQ gestanden 😉
    mfG (c)h



  • Sorry, aber im FAQ habe ich nichts gefunden.


Anmelden zum Antworten