问几个实作win32控制台下文本编辑器的问题

luobonic 2007-12-07 06:10:03
最近在写控制台下的文本编辑器(要求仿真记事本),挺费劲。下面提几个问题,希望有经验的同志给解答一下。

1.如何操作cin、cout的缓冲区?

2.单线程中如何在语句外部结束该语句的运行?

3.怎样知道输入法是否开启?怎样获得输入法的缓冲区?

4.如何拦截一个input事件使输入法看不到该事件或是反过来使控制台input buff看不到该事件?
...全文
28 点赞 收藏 3
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ollydbg23 2007-12-18
楼主可以去codeproject.com里面搜索一下 console,上面有专门的文章讲这一些的内容,同时还有console的一些基本的库提供出来的,比如画窗口,画直线等等,我原来看到过。
回复
luobonic 2007-12-08
1楼你这种话说了不如不说

来人看看下面这个

HWND hwnd = GetConsoleWindow();
if(!hwnd){
MyErrorExit("GetConsoleWindow");
}
HIMC himc = ImmGetContext(hwnd);
if(!himc){
cout<<GetLastError();//这里GetLastError()返回0
MyErrorExit("ImmGetContext");
}

环境是控制台下,为什么ImmGetContext()会失败?

同样的编写

HWND hwnd = GetConsoleWindow();
HDC hdc = GetWindowDC( hwnd );

hdc会成功。怎么回事?
回复
Wolf0403 2007-12-07
cin cout 在这里没有用处。Win32 有专门的操作终端的API。
回复
发动态
发帖子
工具平台和程序库
创建于2007-09-28

2.4w+

社区成员

C/C++ 工具平台和程序库
申请成为版主
社区公告
暂无公告