我应该如何在Windows上创建一个自定义的图形控制台/终端?

20 浏览
0 Comments

我应该如何在Windows上创建一个自定义的图形控制台/终端?

Windows控制台界面(类似于cmd窗口)对用户来说是一个相当简单的图形用户界面。然而,它处理渲染、用户输入和滚动的效率非常高。创建这个界面所使用的方法无疑与传统的桌面图形用户界面有很大的不同。

我有兴趣为Windows创建自己的自定义控制台/终端,最好使用C#和基于.NET的技术(例如,托管的GDI+或WPF)。作为一个起点,我很愿意简单地重新创建标准的Windows shell。然后我可以扩展功能并从那里添加其他特性。

我正在寻求关于如何创建这样一个控制台用户界面的一般指导,但也有一些具体的问题,包括:

  • 我应该使用什么样的渲染模型?渲染循环?部分更新(如WPF)?WinForms模型(不确定这是如何工作的)?
  • 渲染模型中使用了什么样的缓存?
  • 字体是如何加载和渲染的?它们是标准的TrueType字体、位图字体还是其他什么?
  • 滚动是如何如此高效地执行的?
  • 您认为可能相关的其他任何事项!

任何关于内置的Windows控制台用户界面(甚至是更好的Linux终端用户界面)如何做这些事情的解释 - 以及我如何模拟它们 - 将是理想的。

编辑:明确一点,我真的想要完全从头开始做这件事。基于像GDI+或WPF这样的图形框架,但不再依赖其他内容。

0