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: 0Die Daten des gesamten Konsolenfensters:
Ursprung: -32000/-32000
Breite: 160
Hoehe: 31Die 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