在 Windows 终端上更改 carret 的形状

Posted

技术标签:

【中文标题】在 Windows 终端上更改 carret 的形状【英文标题】:change carret's shape on windows terminal 【发布时间】:2021-10-13 19:47:49 【问题描述】:

我想将控制台应用程序的文本光标(插入符号)从 BLOCK(默认)设置为 _ 或 |。

我Remove blinking underscore on console / cmd prompt - 但它没有提到如何修改光标。 https://docs.microsoft.com/en-us/windows/console/setconsolecursorinfo?redirectedfrom=MSDN 上的文档对我来说并不重要。

【问题讨论】:

同样的样本有效。您只需更新dwSize 即可更改大小。 我可以把它改成一个梁,还是一定要像旧的文本模式 0x03 一样? 文档解释了您可以对插入符号大小执行哪些操作。 【参考方案1】:

由 Raymond Chen 推荐(不知道他是谁的人:https://devblogs.microsoft.com/oldnewthing/)

这是我用于块光标的:

        HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE);

        CONSOLE_CURSOR_INFO cursorInfo;

        GetConsoleCursorInfo(out, &cursorInfo);
        cursorInfo.bVisible = true;
        cursorInfo.dwSize = 100;
        SetConsoleCursorInfo(out, &cursorInfo);

对于下划线光标:

        HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE);

        CONSOLE_CURSOR_INFO cursorInfo;

        GetConsoleCursorInfo(out, &cursorInfo);
        cursorInfo.bVisible = true;
        cursorInfo.dwSize = 10;
        SetConsoleCursorInfo(out, &cursorInfo);

【讨论】:

以上是关于在 Windows 终端上更改 carret 的形状的主要内容,如果未能解决你的问题,请参考以下文章

如何在Windows中更改Git终端的标题?

更改新 Windows 终端的窗口大小

如何将 VS Code 终端选择 UI 从选项卡更改回下拉菜单? [复制]

GitKraken的变化并没有反映在其他应用程序上

windows server 2003如何设置最大用户连接数

如何在Windows cmd终端中设置cd命令的默认目录?