winapi - 多个光标(插入符号)一次功能,就像在 Visual Studio Code 中一样,但在每个 Windows 应用程序中?
问题描述
想知道这是否:https : //code.visualstudio.com/docs/editor/codebasics 可以在每个应用程序中使用 WinApi 或通过 DLL 调用/注入全局实现?
哪个 api 调用可能与我开始相关?
解决方案
这是无法做到的。有太多的问题需要解决,没有通用的解决方案。
标准插入符号的硬性限制是每个队列一个插入符号。考虑到这一点,您现在必须解决的不是一个,而是两个问题:获取自定义插入符号实现,并与系统提供的问题作斗争。
这听起来可能仍然可行,但即使只是将自定义渲染的插入符号注入到外部窗口中也是不可能的。系统中没有基础设施可以让您安全地使用您不拥有的任意(甚至标准)控件的渲染。
现在,即使您找到了上述所有问题的解决方案,您将如何将这些多选标记传达回客户端代码?EM_GETSEL被严格限制为最多一个选择标记。
到目前为止,这主要是关于标准控制。自定义控件实现不会让事情变得更容易。据我所知,WPF 使用了一个非常封闭的控件库,它甚至不提供 Windows 常用控件的自定义点。像 Qt 这样的 UI 工具包也是如此。虽然是开源的,但 Qt 不允许任何外部定制。
我敢肯定还有更多的问题没有通用的解决方案。虽然不是一个详尽的列表,但上述问题阻止了在您无法控制的任意 UI 中实现多选。
推荐阅读
- amazon-web-services - 如果 AWS ElastiCache Redis 内存已满,会发生什么?
- python - flake8 - 带有 python3 元类参数的 E999 语法错误
- node.js - 如何在nodejs中编写复杂的json格式
- elasticsearch - 弹性搜索。基于文档字段的动态评分
- php - 使用 AJAX 在 SQL 查询中获取按钮的 id
- three.js - 如何使用 ThreeJS 中的 GLTFLoader 渲染在 Blender 中创建的模型?
- flutter - 当用户将指针移动到颤振中的新小部件时如何捕获指针更新
- c# - Visual Studio 会生成,但 msbuild 不会。
- c# - WebApi Environment.NewLine 不工作
- c# - 从 .txt 加载字符串并在 VisualStudio 的 webBrowser 中显示 HTML 文件