Dela via


Funktionen AttachConsole

Kopplar anropsprocessen till konsolen för den angivna processen som ett klientprogram.

Syntax

BOOL WINAPI AttachConsole(
  _In_ DWORD dwProcessId
);

Parameterar

dwProcessId [in]
Identifieraren för den process vars konsol ska användas. Den här parametern kan vara ett av följande värden.

Värde Innebörd
Pid Använd konsolen för den angivna processen.
ATTACH_PARENT_PROCESS(DWORD)-1 Använd konsolen för den överordnade processen.

Returvärde

Om funktionen lyckas är returvärdet icke-noll.

Om funktionen misslyckas är returvärdet noll. Om du vill få utökad felinformation anropar du GetLastError.

Anmärkningar

En process kan anslutas till högst en konsol. Om anropsprocessen redan är ansluten till en konsol returneras felkoden ERROR_ACCESS_DENIED. Om den angivna processen inte har någon konsol returneras felkoden ERROR_INVALID_HANDLE. Om den angivna processen inte finns är felkoden som returneras ERROR_INVALID_PARAMETER.

En process kan använda funktionen FreeConsole för att koppla från sig själv från konsolen. Om andra processer delar konsolen förstörs inte konsolen, men processen som kallas FreeConsole kan inte referera till den. En konsol stängs när den sista processen som är kopplad till den avslutas eller anropar FreeConsole. När en process anropar FreeConsole kan den anropa funktionen AllocConsole för att skapa en ny konsol eller AttachConsole för att ansluta till en annan konsol.

Den här funktionen är främst användbar för program som är länkade till /SUBSYSTEM:WINDOWS, vilket innebär för operativsystemet att en konsol inte behövs innan du anger programmets huvudmetod. I det fallet är standardreferenserna som hämtats med GetStdHandle troligen ogiltiga vid start tills AttachConsole anropas . Undantaget är om programmet startas med hantera arv av den överordnade processen.

Om du vill kompilera ett program som använder den här funktionen definierar du _WIN32_WINNT som 0x0501 eller senare. Mer information finns i Using the Windows Headers.

Kravspecifikation

   
Lägsta klient som stöds Windows XP [endast skrivbordsappar]
Lägsta server som stöds Windows Server 2003 [endast skrivbordsappar]
Rubrik ConsoleApi.h (via WinCon.h, inkludera Windows.h)
Bibliotek Kernel32.lib
DLL Kernel32.dll

Se även

Konsolfunktioner

konsoler

AllocConsoleWithOptions

AllocConsole

FreeConsole

GetConsoleProcessList