在Win32应用程序中添加控制台窗口
来源:互联网 发布:苏拉病毒源码 编辑:程序博客网 时间:2024/05/17 07:38
1. 背景知识介绍
1.Win32 Handles和RTL Handles
标准C定义的文件操作类型为FILE*
Win32 API定义文件操作的类型为 HANDLE, 在Windows平台上, 标准C的输入输出函数是HANDLE实现, 标准C的输入输出FILE* 类型会和相应的HANDLE关联。
标准C函数预定义了三个FILE* 变量: stdin, stdout和stderr
Win32 也分别定义了这三个HANDLE, 可以通过HANDLE GetStdHandle() 函数取得
GetStdHandle 参数:
STD_INPUT_HANDLE
STD_OUTPUT_HANDLE
STD_ERROR_HANDLE
这些HANDLE都可以重定向到文件或者控制台窗口,Win32 GUI程序没有控制台窗口,所以Win32的这三个File HANDLE也没有指向Standard input, output, error, 但是我们可以将这三个 FILE HANDLE重定向到控制台窗口,然后将标准C FILE* 关联到这些HANDLE。然后我们就可以正常使用C标准输入输出函数了。
其他用到的函数
_open_osfhandle() 函数, 返回一个RTL handle, 这个RTL handle与Win32 FILE HANDLE相关联, 通过这个RTL handle重定向I/O
FILE *_fdopen(int fd, const char *mode ); 基于文件描述符打开一个C输入输出流
代码
测试
参考
http://www.halcyon.com/~ast/dload/guicon.htm
- 在Win32应用程序中添加控制台窗口
- 在Win32应用程序中添加控制台窗口
- 在Win32控制台程序中添加Windows窗口
- Win32应用程序中创建控制台窗口
- Win32应用程序中创建控制台窗口
- 在win32 应用程序中使用控制台
- 在win32控制台应用程序中实现定时器
- 在win32控制台应用程序中实现定时器
- 在win32控制台应用程序中实现定时器
- 在win32控制台应用程序中实现定时器
- MFC应用程序中添加控制台窗口
- MFC应用程序中添加控制台窗口
- MFC应用程序中添加控制台窗口
- MFC应用程序中添加控制台窗口
- MFC应用程序中添加控制台窗口
- 在win32的窗口程序中加入控制台console窗口
- 在vs窗口中添加一个控制台
- 如何隐藏win32控制台应用程序的窗口
- 自动化测试研究
- Ipcop局域网内电脑向广域网上电脑提供Netmeeting服务
- 提高VS2008的速度
- 快速排序(C++自带)
- 关于DOM的一些总结
- 在Win32应用程序中添加控制台窗口
- 三阶幻方(用最原始的方法产生)
- 给程序员的一些非常不错的资料
- linux 下 gdb 调试c/c++ 程序
- 获得文件版本号
- HWM对数据库操作的影响
- eclipse.ini内存设置
- typedef 使用声明
- linux sys 文件系统中 系统 设备的操作