Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Opracowali: Piotr DejaVu Szawdyński, pekfos
Biblioteki C/C++

AllocConsole

[funkcja] Tworzy nową konsolę dla procesu.

Składnia

C/C++
#include <windows.h>

BOOL WINAPI AllocConsole( void );

Zwracana wartość

Zwraca wartość różną od zera w przypadku sukcesu. W przeciwnym wypadku funkcja zwraca wartość 0.

Aby uzyskać rozszerzone informacje o błędzie, wywołaj funkcję » WinAPIGetLastError.

Opis szczegółowy

Do procesu może być podłączona tylko jedna konsola na raz więc wywołanie niniejszej funkcji nie powiedzie się jeżeli dany proces jest już powiązany z konsolą. Proces może odłączyć aktualnie używaną konsolę przy pomocy funkcji » WinAPIFreeConsole. Wówczas możliwe będzie ponowne wywołanie funkcji AllocConsole bądź » WinAPIAttachConsole.

Dodatkowe informacje

Jeżeli proces utworzy proces potomny (dziecko), to utworzony proces odziedziczy nową konsolę.

Funkcja AllocConsole inicjalizuje uchwyty standardowego wejścia, standardowego wyjścia oraz standardowego strumienia błędu dla tworzonej konsoli. Standardowy uchwyt wejściowy jest uchwytem do bufora wejściowego konsoli. Standardowy uchwyt wyjściowy oraz uchwyt strumienia błędów są uchwytami wskazującymi na bufor ekranu konsoli. Aby pobrać te uchwyty należy użyć funkcji » WinAPIGetStdHandle.

Ta funkcja jest głównie używana przez aplikacje posiadające interfejs graficzny w celu utworzenia okna konsoli. Aplikacje GUI są inicjalizowane bez okna konsoli. Aplikacje konsolowe są inicjalizowane z konsolą chyba, że są utworzone jako odizolowane procesy przy pomocy funkcji CreateProcess z flagą DETACHED_PROCESS.

Wymagania

Minimalny obsługiwany klientWindows 2000 Professional
Minimalny obsługiwany serwerWindows 2000 Server
BibliotekaKernel32.lib
DLLKernel32.dll

Przykład

C/C++
#include <windows.h>

int main()
{
    if( AllocConsole() )
         MessageBoxA( NULL, "Utworzono konsolę", "Sukces", MB_ICONINFORMATION );
    else
         MessageBoxA( NULL, "Proces posiada już konsolę", "Błąd", MB_ICONEXCLAMATION );
   
    return 0;
}

Zagadnienia powiązane

FreeConsoleOdłącza konsolę od aktualnego procesu. (funkcja)
AttachConsolePodłącza się do istniejącej konsoli innego procesu. (funkcja)

Linki zewnętrzne