确定当前活动文本输入光标的屏幕坐标的最佳方法是什么?
我需要这个用于在线音译程序,这样我就可以在输入文本时向用户显示一些建议选项。
答案 0 :(得分:8)
首先将线程输入附加到活动应用程序(AttachThreadInput
)。然后使用GetCaretPos
获取插入符号的位置。位置在客户端坐标中,调用GetFocus
以获得具有插入符号的窗口的句柄,然后将坐标转换为具有ClientToScreen
的屏幕坐标。最后再次调用AttachThreadInput
来分离线程输入。