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

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

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

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

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

4.如何拦截一个input事件使输入法看不到该事件或是反过来使控制台input buff看不到该事件?
...全文
65 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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。

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧