huangyiiiiii

此blog不再更新,大家都去我的新家吧http://codeplayer.blogbus.com

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理


前些天希望在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加上去。

Win32NativeMethod.cs下下去直接把后缀名改成cs就可以了
posted on 2005-11-27 20:02  huangyi  阅读(671)  评论(1编辑  收藏  举报