从文本编辑器中捕获文本

时间:2013-04-15 11:00:39

标签: .net

我在互联网上研究但我无法找到。 sqlassistant like程序如何从其他文本编辑器(notepad ++,sql management studio等)中捕获文本。

例如,如果你在记事本++中按ctrl +鼠标左键单击,sql助手检测文本并将其重新蓝色并打开存储过程,单击它自己的窗口。

是否可以使用Hook api?我下载了许多用c#编写的api示例,但没有关于捕获文本的示例,是否可以使用托管代码?

2 个答案:

答案 0 :(得分:1)

这样的程序使用常规的Win32 API调用来检查窗口上下文。他们使用全局键盘钩子来检测按键,然后使用GetActiveWindow之类的调用来确定选择了哪种窗口/控件以及如何与它进行交互。

Here's an example for setting a global hook in C#

答案 1 :(得分:0)

您可以使用Win32 API函数来获取对象/对象的内容 一些win32 api函数如getwindow-getwindowex-findwindow-findwindowex等来自user32.dll可能很有用 在www.daneshjooyar.com中有一些关于在c#

中使用api函数的视频