【发布时间】:2011-06-04 22:38:51
【问题描述】:
显然,EASEUS Partition Master 程序可以在 Windows GUI 启动之前显示图形(即,它与 CheckDisk 在启动时运行的同时运行)。
我已经知道:
这可能需要记录不充分的函数。我没关系。
我已经知道如何编译本机 NT 可执行文件,因此请随意在回复中省略它。
问题:
如何在一切启动之前显示图形? (即你使用什么函数/库?)
它如何在屏幕上显示格式化和对齐的文本?
我知道NtDisplayString能够编写文本,但它不能以格式化的方式绘制内容,如下所示。您使用什么函数来复制以下行为?
【问题讨论】:
-
我在那张图片中看到的唯一图形是VirtualBox,其余的可以使用扩展ASCII字符集中的行和框字符来完成。
-
@Ben:你怎么做一个蓝色像素,然后是一个白色像素,然后是一个黑色像素,然后是一个灰色像素,只是使用扩展的 ASCII 字符? (查看进度条的边框。)字体不是比那个大一点吗?
-
@Mehrdad:如果使用扩展 ASCII 完成,进度条轮廓很可能是深蓝色,与进度条本身相同。我认为我无法在您的屏幕截图上分辨出区别。我认为您是对的,这张图片不仅仅是文字,而且文字可以为您提供所有具有相似外观的图形元素,即使不完全相同。
-
@Ben:好吧,还有另一个问题,即使我忽略了:如何向上移动光标?您可以通过打印退格键或使用
NtDisplayString将\r移动它向左,但它们肯定使用不同的方法将内容打印到屏幕的不同部分。 -
@Mehrdad:IIRC,启动时 chkdsk 甚至在最新版本的 Windows 上以图形模式显示。
标签: winapi graphics nt nt-native-api native-executable