Daten des Konsolenfensters



  • Hallo!

    Ich hab mal die Sources aus der FAQ benutzt, um ein Win-Konsolenfenster in den Fullscreen zu bringen. Allerdings brauch ich noch ein paar Informationen über das Fenster, und hab mir mal ein Testprogramm gebastelt:

    FullScreen();
    
        GetClientRect(hConsole,&clRect);
    
        cout<<"Die Daten der Client-Area des Konsolenfensters:"<<endl;
        cout<<"Ursprung: "<<clRect.left<<"/"<<clRect.top<<endl;
        cout<<"Breite: "<<clRect.right-clRect.left<<endl;
        cout<<"Hoehe: "<<clRect.bottom-clRect.top<<endl;
        cout<<endl;
    
        GetWindowRect(hConsole,&clRect);
    
        cout<<"Die Daten des gesamten Konsolenfensters:"<<endl;
        cout<<"Ursprung: "<<clRect.left<<"/"<<clRect.top<<endl;
        cout<<"Breite: "<<clRect.right-clRect.left<<endl;
        cout<<"Hoehe: "<<clRect.bottom-clRect.top<<endl;
        cout<<endl;
    
        cout<<"Die Daten des Bildschirms:"<<endl;
        cout<<"Aufloesung: "<<GetSystemMetrics(SM_CXSCREEN)<<"x"<<GetSystemMetrics(SM_CYSCREEN)<<endl;
    

    Das Ergengnis hat mich aber n'bisschen verwundert:

    *Die Daten der Client-Area des Konsolenfensters:
    Ursprung: 0/0
    Breite: 0
    Hoehe: 0

    Die Daten des gesamten Konsolenfensters:
    Ursprung: -32000/-32000
    Breite: 160
    Hoehe: 31

    Die Daten des Bildschirms:
    Aufloesung: 1152x864*

    Bis auf die Auflösung ist das alles etwas eigenartig. Woher kommt das?



  • Was ist hConsole? Ein Handle auf das Konsolenfenster oder fälschlicherweise ein Handle auf den Console Output o. Input Buffer?

    MfG SideWinder



  • Ja, es ist ein gültiger Fensterhandle auf das Konsolenfenster, das hab ich auch schon überprüft. (Spy++)



  • volkard hat das mal ganz einfach gelöst:

    keybd_event(VK_MENU,0x38,0,0);
    keybd_event(VK_RETURN,0x1c,0,0);
    keybd_event(VK_RETURN,0x1c,KEYEVENTF_KEYUP,0);
    keybd_event(VK_MENU,0x38,KEYEVENTF_KEYUP,0);
    

    klappt sogar ;););)



  • @siranus: Ähm, ist das nicht eh der Weg der in der FAQ auch angegeben ist...?

    @croc: Vielleicht liegts auch an der Konsole...sorry kann dir nicht helfen :(.

    MfG SideWinder



  • @sidewinder keine ahnung. weiß nur das ich das mal im forum gesehen und dann für mein programm verwendet habe 🙂



  • Genau diesen Code von Volkard verwende ich auch, aber wenn ich versuche die Fensterdimensionen etc (siehe oben) herauszufinden kommt das obige Resultat heraus.



  • Könnte auch am Fullscreen liegen...funktionieren GetClientRect() und GetWindowRect() wenn die Konsole nicht im Fullscreen ist?

    MfG SideWinder


Anmelden zum Antworten