Chciałbym aby program uruchomiony z konsoli (zarówno w terminalu jak i cmd pod winszitem) od razu startował na pełnym ekranie.
Chodzi o identycznie działajace skrypty osobno dla C, C# i C++.
Chodzi o to, aby po konendzie: C:\sofcik\testowy.exe program z automatu startował na full ekranie
Standardowa aplikacja konsolowa nie ma nad tym kontroli. To aplikacja konsoli kontroluje swój rozmiar.
Po prostu zmień właściwości konsoli, albo uruchamiaj konsole z odpowiednimi parametrami na wielkość okna i by uruchomiła swoją aplikację.
A w jaki sposób działały kiedys programy uruchamiane pod ms-dos, np. NC czy TAG?
W DOS konsola była właściwością systemu i miała tylko jeden rozmiar (przeważnie 80x25).
Każda aplikacja dostawała po prostu pełną kontrolę nad konsolą/ekranem.
W ramach wstecznej kompatybilności uruchamiana jest konsola (CMD), która w pewnym stopniu odtwarza zachowanie z DOS, ale aplikacje nie mają kontroli nad wielkością tego okna.
W standardowym C++ tego nie zrobisz.
Możesz spróbować szczęścia z biblioteką NCurses
, względnie przeszukać WinApi.
Chciałbym schować system pod program na ekranie, może z czasem coś wykombinuję (a mówili ucz się vc)
Konsola nie została stworzona do pisania tego typu aplikacji - jeśli coś ma działać na pełnym ekranie, rzuć okiem na biblioteki typu SDL2.
Spróbuj tak:
#include <iostream>
#include <windows.h>
#pragma comment(lib, "user32")
int main()
{
::SendMessage(::GetConsoleWindow(), WM_SYSKEYDOWN, VK_RETURN, 0x20000000);
std::cout << "Hello world from full screen app!" << std::endl;
std::cin.get();
}
Zauważ, że to wychodzi poz standard C++.
Sterowniki WDDM karty graficznej nie pozwalają na zainicjowanie trybu tekstowego.
Ostatni Windows w którym pełnoekranowy tryb tekstowy działał bez jakichś niestandardowych hacków to był XP.
Pod Windows 10 naciśnięcie LAlt + Enter w konsoli cmd powiększa okno do pełnego ekranu, bez zmiany trybu karty graficznej.
Jeżeli o taki „full ekran” chodzi to nie wiem czy aplikacja ma nad tym kontrolę.