Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Připojí volající proces ke konzole zadaného procesu jako klientskou aplikaci.
Syntaxe
BOOL WINAPI AttachConsole(
_In_ DWORD dwProcessId
);
Parametry
dwProcessId [in]
Identifikátor procesu, jehož konzola se má použít. Tento parametr může být jednou z následujících hodnot.
| Hodnota | Význam |
|---|---|
| Pid | Použijte konzolu zadaného procesu. |
ATTACH_PARENT_PROCESS(DWORD)-1 |
Použijte konzolu nadřazeného aktuálního procesu. |
Návratová hodnota
Pokud je funkce úspěšná, je návratová hodnota nenulová.
Pokud funkce selže, návratová hodnota je nula. Pokud chcete získat rozšířené informace o chybě, zavolejte GetLastError.
Poznámky
Proces lze připojit k maximálně jedné konzole. Pokud je volající proces již připojen ke konzole, vrátí se vrácený kód chyby ERROR_ACCESS_DENIED. Pokud zadaný proces nemá konzolu, vrátí se vrácený kód chyby ERROR_INVALID_HANDLE. Pokud zadaný proces neexistuje, vrátí se vrácený kód chyby ERROR_INVALID_PARAMETER.
Proces může použít funkci FreeConsole k odpojení od konzoly. Pokud konzolu sdílí jiné procesy, konzola se nezničí, ale proces, který se nazývá FreeConsole , na ni nemůže odkazovat. Konzola se zavře, když poslední proces připojený k ní ukončí nebo zavolá FreeConsole. Jakmile proces zavolá FreeConsole, může volat funkci AllocConsole k vytvoření nové konzoly nebo AttachConsole pro připojení k jiné konzole.
Tato funkce je primárně užitečná pro aplikace, které byly propojeny s /SUBSYSTEM:WINDOWS, což znamená, že konzola není nutná před vstupem do hlavní metody programu. V takovém případě budou standardní popisovače načtené pomocí GetStdHandle pravděpodobně při startu neplatné, dokud se nevolá AttachConsole. Výjimkou je, pokud je aplikace spuštěna s popisovačem dědičnosti nadřazeným procesem.
Chcete-li zkompilovat aplikaci, která tuto funkci používá, definujte _WIN32_WINNT jako 0x0501 nebo novější. Další informace naleznete v tématu Použití záhlaví systému Windows.
Požadavky
| Minimální podporovaný klient | Windows XP [pouze desktopové aplikace] |
| Minimální podporovaný server | Windows Server 2003 [pouze desktopové aplikace] |
| Záhlaví | ConsoleApi.h (přes WinCon.h, včetně Windows.h) |
| Knihovna | Kernel32.lib |
| knihovna DLL | Kernel32.dll |