首页 > 解决方案 > 是否可以使用 C++ 一次移动文本光标/插入符号多个字符?

问题描述

我正在编写一个将字符串粘贴到任何给定编辑器中的应用程序。在选择要粘贴的内容后,我的应用程序以编程方式失去焦点,将其提供给之前具有焦点的应用程序。然后它将 Ctrl+V 发送到操作系统以将其粘贴到其他应用程序中。我希望能够在粘贴后设置光标的位置。目前,粘贴的文本将始终将光标留在文本的末尾。

我已经尝试向操作系统发送多个左箭头键,例如,如果我想要:

你好 $CURSOR_POSITION$World
                       54321

粘贴“Hello World”后,我会发送 5 次 ArrowLeft。这是非常缓慢的,因为每个向左箭头键都是按顺序处理的(大约每秒向左移动一次)。由于字符串可能会变得很长,因此使用 Ctrl+ArrowLeft 跳过整个单词并不能解决问题。

我已经研究过 ANSI 代码,但它们似乎只在控制台中工作,我希望它在每个编辑器中都能工作。

有没有办法使用 C++ 来实现这一点?像 moveCursorLeft(5) 这样的东西?

提前致谢!

标签: operating-systemclipboardcaret

解决方案


推荐阅读