小甲鱼 发表于 2016-8-15 22:09:23

AttachConsole

注:本文档由 百日维新 翻译,小甲鱼校对。

原文链接 -> 传送门

函数功能:

AttachConsole 函数用于附加调用进程到指定进程的控制台。


API 函数原型:

注释:_In_说明该参数是输入的。
BOOL WINAPI AttachConsole(
_In_ DWORD dwProcessId
);

参数解析:


参数 含义
dwProcessId指定进程的标识符,该参数可以是下列值:


值含义
pid 使用指定进程的控制台
ATTACH_PARENT_PROCESS
(DWORD)-1 使用当前进程的父进程的控制台



返回值:

1. 如果函数调用成功,返回值是非 0;

2. 如果函数调用失败,返回值是 0。

若想获得更多的错误信息,请调用 GetLastError 函数。


备注:

1. 一个进程最多只能附加一个控制台。如果调用进程已经附加了一个控制台,则返回错误代码 ERROR_ACCESS_DENIED (5)。如果指定进程没有控制台,则返回错误代码 ERROR_INVALID_HANDLE (6)。如果指定进程不存在,则返回错误代码 ERROR_GEN_FAILURE (31)。

2. 可以调用 FreeConsole 函数分离进程和控制台。如果其他进程共享该控制台,则该控制台不能被销毁,但是分离的进程已不能引用该进程了。当最后一个附加控制台的进程停止或者调用 FreeConsole 函数,该控制台可以关闭。进程调用 FreeConsole 函数之后,可以调用 AllocConsole 函数创建一个新的控制台或者调用 AttachConsole 函数附加到其他控制台。

3. 定义 _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


【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

黑龍 发表于 2016-8-16 18:50:10

创建一个控制台{:10_256:}
页: [1]
查看完整版本: AttachConsole