C 程序能否获取鼠标在 Windows 控制台中悬停的字符?

标签 c get console character mouseover

有关于鼠标输入的问题和答案,但鼠标输入似乎没有解决这个问题。

假设“椅子”这个词打印在控制台上。有没有办法让鼠标悬停在哪个字符('c'、'h'、'a'、'i'、'r' 或无)上?

我真的不需要不断 self 更新的功能,我只需要学习一次角色(比如当用户按下按钮时)。

最佳答案

控制台 API 的 GetConsoleScreenBufferInfo 函数将使您尽可能接近您想要的(我认为)但需要额外的步骤:https://learn.microsoft.com/en-us/windows/console/getconsolescreenbufferinfo

如你所见,它返回一个CONSOLE_SCREEN_BUFFER_INFO结构,它不仅包含光标的位置(dwCursorPosition),还包含字符位置(wAttributes)。

缺点是这只能在屏幕缓冲区中完成,用户可以在其中移动光标,就像他在编写命令时与 cmd 交互一样(使用左右箭头、单击等... ).

是的,我认为您无法检测到鼠标悬停,但使用屏幕缓冲区,您可以让用户点击字符或在字符中导航并注意该位置。

关于C 程序能否获取鼠标在 Windows 控制台中悬停的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50497145/

相关文章:

console - PyCharm Python 控制台中的自动换行?

c - 编写一个小型 C 程序,打印文件每行的第一个单词

python - 尝试将 XTea 加密算法从 C 移植到 Python

php - 有 ?postid = $value 查看某个 MySQL 行

jquery - jquery的$.get是异步的吗?

java - Java 中的“获取”REST 调用 : when does it actually execute?

c# - 在 C# 中输入与输出在同一行

c - ttys0 丢失/乱码数据,而 ttyusb0 则不会

c - 如何在 C 中使用 [] 声明指向 const 字符数组的 Const 指针

c# - 'Press Any key to continue.... '的解释