Konzola je ključni alat na mnogim jezicima, uključujući popularni jezik C++. Obično se koristi za ulazne i izlazne operacije. Međutim, postoji nekoliko scenarija i specifičnih aplikacija u kojima ne želite da se konzola pojavljuje prilikom izvršavanja programa. Zaronimo u ovo dublje, gledajući kako sakriti konzolu u C++ programu.
Rjesenje
U C++, moguće je sakriti konzolu kada se pokreće program. Ovo se uglavnom vrti oko upotrebe određenih integrisanih funkcija u Windows.h biblioteci. Konkretno, ključna je funkcija 'ShowWindow', koja može manipulirati različitim karakteristikama prozorskog okruženja, i 'FindWindow' funkcija, koja preuzima rukohvat prozora.
Evo osnovnog C++ isječka koda koji ilustruje kako možete sakriti prozor konzole:
#include
int main ()
{
ShowWindow (FindWindowA(“ConsoleWindowClass”, nullptr), 0);
povratak 0;
}
Razumijevanje koda
Naš kod počinje uključivanjem biblioteke 'windows.h'. Ova biblioteka je datoteka zaglavlja specifična za Windows za programski jezik C++ koja sadrži deklaracije za sve funkcije u Windows API-ju.
'Main' funkcija je tačka na kojoj počinje naš program. Unutar ove funkcije pozivamo funkcije 'ShowWindow' i 'FindWindowA'. Evo šta rade:
– 'FindWindowA': Ova funkcija se koristi za lociranje prozora prema imenu klase. “ConsoleWindowClass” je, kao što ime implicira, naziv klase prozora konzole. Argument 'nullptr' podrazumijeva da ime prozora nije navedeno.
– 'ShowWindow': Ova funkcija mijenja stanje prikaza otkrivenog prozora. Argument '0' je naredba za skrivanje prozora.
Sada, kada pokrenete svoj program, primijetit ćete da se prozor konzole ne pojavljuje.
Povezane biblioteke i funkcije
'windows.h' Biblioteka u C++ vrvi od osnovnih funkcionalnosti izvan funkcija 'ShowWindow' i 'FindWindowA' o kojima smo raspravljali. Neke značajne funkcionalnosti uključuju sistemske pozive, upravljanje ručkama i razne uslužne funkcije koje koristi WinAPI (Windows Application Programming Interface).
'Besplatna konzola' funkcija je još jedan zgodan alat koji odvaja proces pozivanja od njegove konzole. Nakon što se konzola odvoji, svaki pokušaj korištenja standardne ručke za I/O rezultirat će preusmjeravanjem ručke na 'NULL' uređaj prema zadanim postavkama.
Evo kako ga možete koristiti:
#include
int main ()
{
FreeConsole();
povratak 0;
}
Razumijevanje i savladavanje ovih biblioteka i funkcija može vam pomoći da kreirate privlačnije, vizualno oduševljavajuće i jednostavnije aplikacije u C++.