gpt4 book ai didi

c# - 任何应用程序内的插入位置/位置

转载 作者:可可西里 更新时间:2023-11-01 09:38:17 25 4
gpt4 key购买 nike

我正在用 C# 开发一个通用文本自动完成器应用程序。所以我需要获取当前事件窗口中的插入符号位置(可能是记事本、Word 女士等)。我应该怎么做才能获得插入符号的 X、Y 坐标?我需要它在用户键入时在光标(插入符号)下显示建议。

我的程序在后台运行。它应该在当前事件的任何窗口中检测插入符的存在并获取插入符的实时位置。每当用户输入文本时,位置值都应更新。

我不知道如何做所有这些。这一切都可以使用 C# 吗?还是我应该更改编程语言?

最佳答案

语言选择在很大程度上与这个问题无关。文本输入本身就很困难。

解决您的问题会很困难,因为应用程序通常使用自定义或高度自定义的控件来编辑文本。记事本使用标准的编辑控件,因此您可以使用 EM_GETSEL 消息检索字符中的插入符号位置,并使用 EM_POSFROMCHAR 将其转换为屏幕位置。标准 Rich Edit 控件也存在类似的消息。但是,对于 Microsoft Word,您可能必须使用 COM 调用它并找出插入符号的位置。其他应用程序将具有其他 API,您将不得不研究、逆向工程、支持和测试这些 API。这只是开始——我希望您会想要检索插入符号周围的文本并对其进行修改,和/或显示一个 UI 来为用户提供选择。这将是一个主要的 PITA,所以我会研究 IME API 看看是否有合适的东西。应该有,因为东亚输入模式本身就是一种自动完成器。 IME 的优点是它不依赖于目标控件。

关于c# - 任何应用程序内的插入位置/位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15321288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com