附加进程到控制台
函数功能:
AttachConsole 函数用于附加调用进程到指定进程的控制台。
API 函数原型:
注释:In说明该参数是输入的。
BOOL WINAPI AttachConsol(
_In_ DWORD dwProcessId
);
);
参数解析:
|参数| 含义|
dwProcessId | 指定进程的标识符,该参数可以是下列值 |
---|---|
pid 使用指定进程的控制台 | |
ATTACH_PARENT_PROCE(DWORD)-1 使用当前进程的父进程的控制台 |
返回值:
如果函数调用成功,返回值是非 0;
如果函数调用失败,返回值是 0。
若想获得更多的错误信息,请调用 GetLastError 函数。
备注:
一个进程最多只能附加一个控制台。如果调用进程已经附加了一个控制台,则返回错误代码 ERROR_ACCESS_DENIED (5)。如果指定进程没有控制台,则返回错误代码 ERROR_INVALID_HANDLE (6)。如果指定进程不存在,则返回错误代码 ERROR_GEN_FAILURE (31)。
可以调用 FreeConsole 函数分离进程和控制台。如果其他进程共享该控制台,则该控制台不能被销毁,但是分离的进程已不能引用该进程了。当最后一个附加控制台的进程停止或者调用 FreeConsole 函数,该控制台可以关闭。进程调用 FreeConsole 函数之后,可以调用 AllocConsole 函数创建一个新的控制台或者调用 AttachConsole 函数附加到其他控制台。
定义 _WIN32_WINNT 为 0x0501 或更高版本,以编译使用这个函数的应用程序。更多相关信息,请查阅 Using the Windows Headers。
需求:
Minimum supported client | Windows XP [仅桌面应用程序] |
---|---|
Minimum supported server | Windows 2003 服务器版 [仅桌面应用程序] |
Header | Wincon.h (包含于 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |