惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MyScale Blog
MyScale Blog
T
The Blog of Author Tim Ferriss
博客园 - 三生石上(FineUI控件)
博客园_首页
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
F
Fortinet All Blogs
B
Blog RSS Feed
Stack Overflow Blog
Stack Overflow Blog
Microsoft Security Blog
Microsoft Security Blog
雷峰网
雷峰网
GbyAI
GbyAI
M
MIT News - Artificial intelligence
I
InfoQ
阮一峰的网络日志
阮一峰的网络日志
Recent Announcements
Recent Announcements
小众软件
小众软件
量子位
S
SegmentFault 最新的问题
Google DeepMind News
Google DeepMind News
Vercel News
Vercel News
aimingoo的专栏
aimingoo的专栏

博客园 - huangyi

垃圾回收 Winform程序中打开控制台 心目中软件开发的未来 把新闻系统转到CommunityServer下的几点体会 css学习笔记 Float css学习笔记 Position CommunityServer下的新闻系统 qq 被人骗走了啊 狗日的 2千多个小时啊 Enterprise Library CommunityServer如何管理Url CommunityServer如何实现属性的动态扩展 CommuntyServer架构分析 web2.0 与 未来网 论坛 博客 相册 留言本 开发计划 微软技术一个共同点 学习avalon的第一个小程序 献丑了 与delphi有关 看到Agent Oriented Programmig感想 Introduce Longhorn to developers(The Longhorn Application Model)[翻译]
郁闷 MyConsole 白做了
huangyi · 2005-11-27 · via 博客园 - huangyi

前些天希望在winform中打开控制台 
查api  搞清楚流程基本是 

AllocConsole

GetStdHandle

ReadConsole

WriteConsole

FreeConsole

然后转成 c# 代码写了个MyConsole的类  自我感觉还不错

今天翻出System.Console的代码一看就郁闷了。
MyConsole根本不需要,因为Console本身也是通过调用GetStdHandle获得输入输出缓冲的,所以应用程序只需要调用AllocConsole创建一个控制台,然后就可以直接使用Console的代码了。

不过有个小惊喜就是看Console代码的时候发现内部使用了一个叫Win32NativeMethod的类,主要是对一些io方面的api的简单封装, 顺手就复制出来了,稍微做了点修改,主要是两个用到unsage代码的方法注释掉了,两个用到 System.Evionment.GetResourceString内部方法的方法注释掉了,然后把AllocConsole和 FreeConsole加上去。


posted on 2005-11-27 20:02  huangyi  阅读(697)  评论(1)    收藏  举报