首页 > 解决方案 > 多个光标(插入符号)一次功能,就像在 Visual Studio Code 中一样,但在每个 Windows 应用程序中?

问题描述

想知道这是否:https : //code.visualstudio.com/docs/editor/codebasics 可以在每个应用程序中使用 WinApi 或通过 DLL 调用/注入全局实现?

哪个 api 调用可能与我开始相关?

标签: winapidll-injectionntdll

解决方案


这是无法做到的。有太多的问题需要解决,没有通用的解决方案。

标准插入符号的硬性限制是每个队列一个插入符号。考虑到这一点,您现在必须解决的不是一个,而是两个问题:获取自定义插入符号实现,并与系统提供的问题作斗争。

这听起来可能仍然可行,但即使只是将自定义渲染的插入符号注入到外部窗口中也是不可能的。系统中没有基础设施可以让您安全地使用您不拥有的任意(甚至标准)控件的渲染。

现在,即使您找到了上述所有问题的解决方案,您将如何将这些多选标记传达回客户端代码?EM_GETSEL被严格限制为最多一个选择标记。

到目前为止,这主要是关于标准控制。自定义控件实现不会让事情变得更容易。据我所知,WPF 使用了一个非常封闭的控件库,它甚至不提供 Windows 常用控件的自定义点。像 Qt 这样的 UI 工具包也是如此。虽然是开源的,但 Qt 不允许任何外部定制。

我敢肯定还有更多的问题没有通用的解决方案。虽然不是一个详尽的列表,但上述问题阻止了在您无法控制的任意 UI 中实现多选。


推荐阅读