Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dołącza proces wywołujący do konsoli określonego procesu jako aplikację kliencką.
Składnia
BOOL WINAPI AttachConsole(
_In_ DWORD dwProcessId
);
Parametry
dwProcessId [in]
Identyfikator procesu, którego konsola ma być używana. Ten parametr może być jedną z następujących wartości.
| Wartość | Znaczenie |
|---|---|
| Pid | Użyj konsoli określonego procesu. |
ATTACH_PARENT_PROCESS(DWORD)-1 |
Użyj konsoli elementu nadrzędnego bieżącego procesu. |
Wartość zwracana
Jeśli funkcja powiedzie się, zwracana wartość jest niezerowa.
Jeśli funkcja zakończy się niepowodzeniem, zwracana wartość to zero. Aby uzyskać rozszerzone informacje o błędzie, wywołaj metodę GetLastError.
Uwagi
Proces można dołączyć do co najwyżej jednej konsoli. Jeśli proces wywoływania jest już dołączony do konsoli, zwrócony kod błędu jest ERROR_ACCESS_DENIED. Jeśli określony proces nie ma konsoli, zwrócony kod błędu jest ERROR_INVALID_HANDLE. Jeśli określony proces nie istnieje, zwrócony kod błędu jest ERROR_INVALID_PARAMETER.
Proces może użyć funkcji FreeConsole , aby odłączyć się od konsoli. Jeśli inne procesy współdzielą konsolę, konsola nie zostanie zniszczona, ale proces, który wywołał FreeConsole, nie może się do niej odwoływać. Konsola jest zamykana po zakończeniu ostatniego przypisanego procesu lub wywołaniu FreeConsole. Po wywołaniu funkcji FreeConsole, proces może wywołać funkcję AllocConsole w celu utworzenia nowej konsoli lub AttachConsole w celu dołączenia do innej konsoli.
Ta funkcja jest przydatna przede wszystkim w aplikacjach połączonych z /SUBSYSTEM:WINDOWS, co wskazuje systemowi operacyjnemu, że konsola nie jest potrzebna przed uruchomieniem głównej metody programu. W tym przypadku standardowe dojścia pobrane za pomocą GetStdHandle prawdopodobnie będą nieprawidłowe podczas uruchamiania do momentu wywołania AttachConsole. Wyjątkiem jest to, czy aplikacja jest uruchamiana z obsługą dziedziczenia przez jej proces nadrzędny.
Aby skompilować aplikację korzystającą z tej funkcji, zdefiniuj _WIN32_WINNT jako 0x0501 lub nowszą. Aby uzyskać więcej informacji, zobacz Using the Windows Headers.
Wymagania
| Minimalny obsługiwany klient | Windows XP [tylko aplikacje klasyczne] |
| Minimalny obsługiwany serwer | Windows Server 2003 [tylko aplikacje klasyczne] |
| Nagłówek | ConsoleApi.h (za pośrednictwem pliku WinCon.h, zawiera Windows.h) |
| Biblioteka | Kernel32.lib |
| DLL | Kernel32.dll |