SetConsoleWindowInfo ???



  • Hallo,vielleicht sehe ich den Wald vor lauter Bäumen nicht mehr aber ich meine dass müsste eigentlich so funzen!
    Bei folgendem Code,bekomme ich bei SetConsoleWindowInfo keine Fehlermeldung(also denke ich mal das der Aufruf erfolgreich war),wenn ich aber im Debugger anschliessend,srWindow in der neu abgefragten CSBI-Struktur überprüfe hat es keine Änderung gegeben!?? 😞
    Der folgende Aufruf von SetConsoleScreenBufferSize macht zur Zeit natürlich nix, aber da das Ausgabefenster ja nich kleiner geworden ist würde eine Verkleinerung von dwSize ja zu nem Fehler führen.

    .....

    //Neue Groesse des Ausgabefensters
        InnenFenster.Left = ConInfo.srWindow.Left+2;
        InnenFenster.Top = ConInfo.srWindow.Top+2;
        InnenFenster.Bottom = ConInfo.srWindow.Bottom -2;
        InnenFenster.Right = ConInfo.srWindow.Right -2;
    
        //Neue Grösse des Bildschirmpuffers festlegen
        NewSize.X = ConInfo.dwSize.X ;//eigentlich kleiner -1
        NewSize.Y = ConInfo.dwSize.Y ;//eigentlich kleiner -1
    
        //InnenFenster-Struktur als aktives Ausgabefenster festlegen
        if(!(SetConsoleWindowInfo(hStdOut,TRUE,&InnenFenster)))
        {
            ErrorCode= GetLastError();
            cout<<"Info-Aenderung fehlgeschlagen"<<endl;
            cout<<"Fehlercode:"<<ErrorCode<<endl;
        }
        GetConsoleScreenBufferInfo(hStdOut,&ConInfo);//nur zur Kontrolle
    
        //Neue Groesse des Bildschirmpuffers 
        if (!(SetConsoleScreenBufferSize(hStdOut,NewSize)))
        {
            ErrorCode = GetLastError();
            cout<<"Size-Aenderung fehlgeschlagen"<<endl;
            cout<<"Fehlermeldung: "<<ErrorCode<<endl;
        }
        GetConsoleScreenBufferInfo(hStdOut,&ConInfo);//nur zur Kontrolle
    

    .......
    😕
    Warum ändert sich srWindow nicht??

    MfG Spacelord


Anmelden zum Antworten