Megosztás:


AttachConsole függvény

A hívási folyamatot ügyfélalkalmazásként csatolja a megadott folyamat konzoljára.

Szemantika

BOOL WINAPI AttachConsole(
  _In_ DWORD dwProcessId
);

Paraméterek

dwProcessId [in]
Annak a folyamatnak az azonosítója, amelynek a konzolját használni szeretné. Ez a paraméter az alábbi értékek egyike lehet.

Érték Értelmezés
Pid Használja a megadott folyamat konzolját.
ATTACH_PARENT_PROCESS(DWORD)-1 Használja az aktuális folyamat szülőjének konzolját.

Visszaadott érték

Ha a függvény sikeres, a visszatérési érték nem lesz nulla.

Ha a függvény sikertelen, a visszatérési érték nulla. A kiterjesztett hibainformációk lekéréséhez hívja meg a GetLastErrort.

Megjegyzések

Egy folyamat legfeljebb egy konzolhoz csatolható. Ha a hívási folyamat már csatlakoztatva van egy konzolhoz, a visszaadott hibakód ERROR_ACCESS_DENIED. Ha a megadott folyamat nem rendelkezik konzollal, a visszaadott hibakód ERROR_INVALID_HANDLE. Ha a megadott folyamat nem létezik, a visszaadott hibakód ERROR_INVALID_PARAMETER.

A folyamat a FreeConsole függvénnyel leválaszthatja magát a konzoljáról. Ha más folyamatok is megosztják a konzolt, a konzol nem lesz megsemmisítve, de a FreeConsole nevű folyamat nem hivatkozhat rá. A konzol akkor lesz bezárva, ha az utolsó hozzá csatolt folyamat leáll, vagy meghívja a FreeConsole-t. Miután egy folyamat meghívja a FreeConsole-t, meghívhatja az AllocConsole függvényt egy új konzol létrehozásához, vagy az AttachConsole függvényt egy másik konzolhoz való csatoláshoz.

Ez a függvény elsősorban a /SUBSYSTEM:WINDOWS rendszerhez csatolt alkalmazások esetében hasznos, ami azt jelenti az operációs rendszer számára, hogy a program fő metódusának megadása előtt nincs szükség konzolra. Ebben az esetben a GetStdHandle-lel lekért standard leírók valószínűleg érvénytelenek lesznek indításkor, amíg az AttachConsole meghívása meg nem történik. Ez alól kivételt képez, ha az alkalmazás fogantyú-örökléssel indul a szülőfolyamat által.

A függvényt használó alkalmazás fordításához definiálja a _WIN32_WINNT-t legalább a 0x0501 értékre, vagy újabbra. További információ: A Windows-fejlécek használata.

Követelmények

   
Minimálisan támogatott ügyfél Windows XP [csak asztali alkalmazások]
Minimálisan támogatott kiszolgáló Windows Server 2003 [csak asztali alkalmazások]
Fejléc ConsoleApi.h (a WinCon.h-n keresztül, a Windows.h-t is belefoglalva)
Könyvtár Kernel32.lib
DLL Kernel32.dll

Lásd még

Konzolfüggvények

konzolok

AllocConsoleWithOptions

AllocConsole

FreeConsole

GetConsoleProcessList