获取特定位置的控制台背景

时间:2012-08-20 18:14:54

标签: c# .net console

我有一个用C#编写的极其简单的控制台应用程序。在打印文本时更改背景和前景色非常容易,但我想知道是否有一种简单的方法可以确定特定位置的背景和前景色。

这不是一个必不可少的功能,所以我对P-Invoke等不感兴趣。如果1分钟内无法完成,那么我就离开了。

编辑

我正在寻找像

这样的东西
Console.GetBackground(0,0);

我在MSDN文档中没有看到类似的内容,但我希望我可能错过了一些简单的内容。

3 个答案:

答案 0 :(得分:1)

查看here获取前景色,here获取背景。并使用setcursorposition来更改控制台位置。

希望它有效。

答案 1 :(得分:1)

.NET中没有内置功能,可以提供之前在控制台中任意位置使用的前景色和背景色。

comment提供link Windows API文档的离线浏览器感谢。虽然这可能提供了解决方案,但实施对我来说太复杂了。 (我放弃了努力,但如果成本效益比发生变化,我可能会再试一次。)

答案 2 :(得分:0)

好吧,你可以创建一个获取控制台宽度和高度的类,映射每个可能的坐标,然后跟踪每个颜色变化和颜色变化的坐标。这样,您就可以遍历您感兴趣的点,并且 看看控制台是什么颜色的。

实施起来并不是一件非常漫长的事情,我认为......认为可能有更好的方法。