鱼C论坛

 找回密码
 立即注册
查看: 2918|回复: 0

[API档案] AllocConsole

[复制链接]
发表于 2016-7-28 17:50:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

原文链接 -> 传送门

函数功能:

AllocConsole 函数用于为调用进程分配一个新的控制台。


API 函数原型:

  1. BOOL WINAPI AllocConsole(void);
复制代码


参数解析:

此函数没有任何参数。


返回值:

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

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

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


备注:

1. 一个进程仅可以与一个控制台关联,如果调用 AllocConsole 函数的进程已经拥有一个关联的控制台,那么函数调用失败。进程可以使用 FreeConsole 函数解除当前控制台的关联,然后调用 AllocConsole 函数来创建一个新的控制台或者调用 AttachConsole 函数附加另一个控制台。

2. 如果调用进程创建子进程,则子进程继承新控制台。

3. AllocConsole 函数为新控制台初始化标准输入、标准输出和标准错误句柄。标准输入句柄为指向控制台的输入缓冲区句柄,标准输出句柄和标准错误句柄为指向控制台屏幕缓冲区句柄。可以使用 GetStdHandle 函数获取这些句柄。

4. 这个函数主要用于用户图形界面(GUI)应用程序创建一个控制台窗口。如果作为分离进程创建(以 DETACHED_PROCESS 参数值调用 CreateProcess 函数),则用户图形界面应用程序初始化无控制台关联,否则用户图形界面应用程序初始化都关联一个控制台。

(友情提示:在使用完控制台程序之后一定要记得调用 FreeConsole 函数释放该控制台,否则会造成内存泄露。)


需求:

Minimum supported client Windows 2000 专业版 [仅桌面应用程序]
Minimum supported server Windows 2000 服务器版 [仅桌面应用程序]
Header Wincon.h (包含于 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll


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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 05:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表