operating-system - 是否可以使用 C++ 一次移动文本光标/插入符号多个字符?
问题描述
我正在编写一个将字符串粘贴到任何给定编辑器中的应用程序。在选择要粘贴的内容后,我的应用程序以编程方式失去焦点,将其提供给之前具有焦点的应用程序。然后它将 Ctrl+V 发送到操作系统以将其粘贴到其他应用程序中。我希望能够在粘贴后设置光标的位置。目前,粘贴的文本将始终将光标留在文本的末尾。
我已经尝试向操作系统发送多个左箭头键,例如,如果我想要:
你好 $CURSOR_POSITION$World 54321
粘贴“Hello World”后,我会发送 5 次 ArrowLeft。这是非常缓慢的,因为每个向左箭头键都是按顺序处理的(大约每秒向左移动一次)。由于字符串可能会变得很长,因此使用 Ctrl+ArrowLeft 跳过整个单词并不能解决问题。
我已经研究过 ANSI 代码,但它们似乎只在控制台中工作,我希望它在每个编辑器中都能工作。
有没有办法使用 C++ 来实现这一点?像 moveCursorLeft(5) 这样的东西?
提前致谢!
解决方案
推荐阅读
- angular - Angular patchValue 不适用于 JsonConverter
- python-3.x - strip 方法删除单词之间的空格
- mongodb - MongoDB - 在 $in 查询中处理不存在的数组
- python - 创建 numpy 数组问题(无法将输入数组从形状(2)广播到形状(1))
- javascript - 如何将图像保存到 p5.js 中的特定目录
- python - 当子类和父类都满足祖父类型定义时,为什么 mypy 会报告不兼容的类型?
- python - selenium.common.exceptions.WebDriverException:消息:未知错误:LXDE 自动启动期间 DevToolsActivePort 文件不存在
- maven - Maven:NoClassDefFoundError,来自其他导入项目的依赖项与我的依赖项冲突
- azure - 我有大约 20 个 excel /pdf 类型的文件,可以从 Http Server 下载。我需要使用数据工厂将此文件加载到 Azure 存储中
- java - 编辑文件中的特定字符串?