Hilfe bei Verstecken / Wiederherstellen der Konsole



  • Ich habe den Text aus der FAQ genommen aber es geht nicht es komt immer der Fehler:

    error C2601 : `HideConsole`: Lokale Funktionsdefinition sind unzulaessing

    Daraus werde ich net schlau! Benutze überigens momentan noch Visual Studio C++ Autor Edition :-)))

    P.S. Könnte mir vielleicht jemand sagen wie ich im "Visual Studio C++ Autor Edition" meinem Prgramm ein ICON hinzufügen kann.

    Danke



  • Hallo,
    hatte vor paar Tagen die selbe Frage und SideWinder hat mir dazu
    folgendes geschrieben:

    Na dann, haben wir ja schon unsere Funktionen - sie beruhen allerdings
    auf der Tatsache, dass die Konsole einen eindeutigen Titel hat, der
    nicht über 255 Zeichen + eine abschließende '\0' lang ist:

    const bool HideConsole ()
    {
        TCHAR Title [256];
    
        return ( 
            GetConsoleTitle ( Title , sizeof ( Title ) ) &&
            ShowWindow ( FindWindow ( 0 , Title ) , SW_HIDE )
               );
    }
    

    Die Übersetzung für ShowConsole() dürfte dann jeder selbst schaffen :).

    MfG SideWinder

    Das funktioniert einwandfrei, vorausgesetzt du hast Win95/98/ME.

    P.S. Könnte mir vielleicht jemand sagen wie ich im "Visual Studio C++ Autor Edition" meinem Prgramm ein ICON hinzufügen kann.

    Das ist nicht allzu schwer du fügst deinem Projekt ein Ressourcenskript hinzu, danach fügst du noch eine Icon - Ressource ein. Beim Kompilieren wird das dann automatisch mit eingebunden.

    Tschau Gartenzwerg

    [ Dieser Beitrag wurde am 15.07.2002 um 19:45 Uhr von Gartenzwerg editiert. ]



  • Ja gut aber ich bräuchte es leider für Win 2000 🙂



  • hallo,
    upps, hätte die Fehlermeldung wohl genauer lesen müssen. 😃

    Du hast die Funktion bestimmt innerhalb von "main()" geschrieben.
    Wenn du die Funktion vorher definierst müsste der Fehler ausbleiben.
    z.B. so müsste es funktionieren...

    #include <iostream>
    #include <windows.h>
    
    using namespace std;
    
    const bool HideConsole ()
    {
        return ( ShowWindow ( GetConsoleWindow () , SW_HIDE ) && true );
    }
    
    const bool ShowConsole ()
    {
        return ( ShowWindow ( GetConsoleWindow () , SW_SHOW ) && true );
    }
    
    int main()
    {
        cout << "Hello World!\n";
        Sleep(1000);
    
        HideConsole();
        Sleep(5000);
        ShowConsole();
    
        cout << "Hello again!";
        Sleep(2000);
    
        return 0;
    }
    

    Klappt es wenigstens mit dem ICON.

    Tschau Gartenzwerg

    [ Dieser Beitrag wurde am 16.07.2002 um 17:00 Uhr von Gartenzwerg editiert. ]



  • 1. ICON funzt 🙂
    2. werds gleich mal testen obs jetzt gehts (habs in main() geschrieben) 🙂



  • Fast perfekt allerdings einen Fehler bekomme ich noch!

    error C2065 : 'GetConsoleWindow' : nicht deklariertert Bezeichner

    also wenn du darauf die Antwort weißt bist du echt super! ******kriech*



  • Hallo,
    also wie es genau nun get weiß ich auch nicht. Da ich kein
    Win2000 habe, kann ich es auch nicht ausprobieren, aber <blah>
    hatte mir einen Tip gegeben, dass man noch vor die Header-Datein

    #define_WIN32_WINNT 0x0500

    setztn muss.

    probiers mal aus ...

    Tschau Gartenzwerg



  • also, der selbe Fehler erscheint auch beim mir, wenn ich diese
    Funktionen nutze, aber ich denke, dass liegt daran, dass ich kein
    Win2000/NT habe (belehrt mich wenn diese Ansicht falsch ist).
    Wie gesagt die Funktionen von SideWinder haben diesen Fehler behoben
    und ich denke das sie auch unter Win2000 funktionieren könnten.
    Deshalb versuche doch mal die Funktionen aus dem FAQ durch diese zu
    ersetzen:

    const bool HideConsole ()
    {
        TCHAR Title [256];
    
        return ( 
            GetConsoleTitle ( Title , sizeof ( Title ) ) &&
            ShowWindow ( FindWindow ( 0 , Title ) , SW_HIDE )
               );
    }
    
    const bool ShowConsole ()
    {
        TCHAR Title [256];
    
        return ( 
            GetConsoleTitle ( Title , sizeof ( Title ) ) &&
            ShowWindow ( FindWindow ( 0 , Title ) , SW_SHOW )
               );
    }
    

    Tschau Gartenzwerg

    [ Dieser Beitrag wurde am 16.07.2002 um 20:02 Uhr von Gartenzwerg editiert. ]



  • Also das Betriebssystem in dem ich es schreibe ist Windows ME aber es soll unter Windows 2000 laufen! Ich probiers mal aus.


Anmelden zum Antworten