c# - 如何使用 Windows API 将输入发送到 Visual Studio

标签 c# .net visual-studio winapi interop

我正在尝试开发一个实用程序(使用系统 Hook ),它像扩展器一样工作(用户选择一些文本并按下热键,它就会扩展)。它应该适用于 Visual Studio。

我想使用 Windows API 来实现它,因为我想开发一个可以在全局范围内与任何应用程序一起使用的应用程序(无论您使用的是 VS 还是写字板,都应该获得相同的功能)。

我已经能够使用 EM_ GETSEL 和 EM_REPLACESEL 消息通过记事本、写字板等成功地做到这一点。但是这些 API 不适用于 Visual Studio 或 ms word。

我应该使用哪些 API 才能做到这一点 1.检测选择了什么文本。 2. 将输入发送给编辑器。

我正在用 C# 编程。如果您一定知道我想做什么……我正在尝试制作适用于任何编辑器的 ZenCoding 通用端口。因此,我们将不胜感激。

最佳答案

对于第 2 部分,您可以尝试使用 Windows Input Simulator这是一个开源项目,我刚刚发布到 Codeplex 以包装 Win32 SendInput。与仅模拟文本输入的 SendKeys 不同,您实际上可以将真实的击键和复杂的和弦模拟到事件窗口。

在您的情况下,如果用户可以使用键盘执行任务,则此项目将为您提供帮助,否则您需要寻找其他解决方案。

希望这对您有所帮助。

关于c# - 如何使用 Windows API 将输入发送到 Visual Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1853043/

相关文章:

c# - .NET MSBuild 目标 AfterTargets=Pack using dotnet build

c# - Win XP(x86) OS 但不是 Win 7(x64) 上的二级属性绑定(bind)异常

c# - 性能相交和不同的元素提取?

javascript - 如何在 Visual Studio 中创建一个真正的空白项目 (2017)

c# - 网页添加串口

c# - 搜索文件的最有效方法

c# - Gridview 为什么所有可见行都设置为脏?

c# - 从浏览器中删除 cookie

visual-studio - 使用依赖对象进行彩色动画 WP8

c# - 只使用 UriKind.RelativeOrAbsolute 的坏习惯?