如何在 Windows 中确定文本光标位置

Posted

技术标签:

【中文标题】如何在 Windows 中确定文本光标位置【英文标题】:How to Determine Text Cursor Position in Windows 【发布时间】:2011-07-02 12:22:32 【问题描述】:

确定当前活动文本输入光标的屏幕坐标的最佳方法是什么?

我需要这个用于在线音译程序,以便在输入文本时向用户显示一些建议选项。

【问题讨论】:

光标在什么地方?富编辑?编辑框?一个winform? 【参考方案1】:

首先将线程输入附加到活动应用程序(AttachThreadInput)。然后使用GetCaretPos 获取插入符号的位置。该位置在客户端坐标中,调用GetFocus 以获得具有插入符号的窗口的句柄,然后使用ClientToScreen 将坐标转换为屏幕坐标。最后再次调用AttachThreadInput分离线程输入。

【讨论】:

如果应用程序不使用 windows 插入符号并且有自己的插入符号,则不会工作。

以上是关于如何在 Windows 中确定文本光标位置的主要内容,如果未能解决你的问题,请参考以下文章

获取 Xorg 下插入符号(输入文本光标)的 X/Y 位置?

如何找到文本光标的全局位置?

如何在 C# 的富文本框中将文本添加到用户光标的位置?

如何确定光标在表单元素中的字符串中的位置? [复制]

如何在占位符文本上启动光标位置中心反应原生?

如何在 Windows 窗体 C# 中伪造鼠标光标位置?