相关疑难解决方法(0)

将文本装饰添加到控制台输出

我有一个ac#.net 3.5应用程序,它使用StreamWriter将文本写入控制台.有没有办法可以在打印到控制台的文本中添加下划线和删除线等文本装饰?可能使用ANSI转义序列?

TextWriter writer = new StreamWriter(Console.OpenStandardOutput());
writer.WriteLine("some underlined text");
Run Code Online (Sandbox Code Playgroud)

谢谢,PaulH

c# console ansi text-decorations

8
推荐指数
4
解决办法
2万
查看次数

SetConsoleMode() 和 ENABLE_VIRTUAL_TERMINAL_PROCESSING?

根据 MSDN,该函数的dwMode参数SetConsoleMode()应该允许ENABLE_VIRTUAL_TERMINAL_PROCESSING(0x04)。

我的 Visual Studio(2013 Ultimate with Update 5)没有定义这个常量。它只有这两个:

#define ENABLE_PROCESSED_OUTPUT    0x0001
#define ENABLE_WRAP_AT_EOL_OUTPUT  0x0002
Run Code Online (Sandbox Code Playgroud)

ENABLE_VIRTUAL_TERMINAL_PROCESSING移除了吗?

我试图像这样使用它,以便我可以使用 VT100 转义序列控制光标。

HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD dwMode = 0;
GetConsoleMode(hOut, &dwMode);
dwMode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING;
SetConsoleMode(hOut, dwMode);
Run Code Online (Sandbox Code Playgroud)

如需参考,请参阅此 MSDN文章

c c++ windows console

6
推荐指数
1
解决办法
7708
查看次数

标签 统计

console ×2

ansi ×1

c ×1

c# ×1

c++ ×1

text-decorations ×1

windows ×1