Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个用 C# 编写的非常简单的控制台应用程序。打印文本时更改背景和前景色非常容易,但我想知道是否有一种简单的方法可以确定特定位置的背景和前景色。
这不是必要的功能,所以我对P-Invoke等不感兴趣。如果不能在1分钟内完成,那我就离开它。
编辑
我正在寻找类似的东西
Console.GetBackground(0,0);
我在 MSDN 文档中没有看到类似的东西,但我希望我可能错过了一些简单的东西。
在这里寻找前景色,在这里寻找背景。并setcursorposition用于改变控制台位置。
setcursorposition
希望它有效。
.NET 中没有内置功能能够提供以前在控制台中任意位置使用的前景色和背景色。
感谢offlinehacker提供了Windows API 文档链接的评论。虽然这可能提供了一个解决方案,但实施对我来说太复杂了。(我放弃了努力,但如果成本效益比发生变化,我可能会再试一次。)
好吧,你可以创建一个类来获取控制台的宽度和高度,映射每个可能的坐标,然后跟踪每个颜色变化和颜色变化的坐标。这样,您就可以遍历到您感兴趣的点,然后查看控制台的颜色。
实施起来不会是一件很长的事情,我认为......认为可能有更好的方法。