如何从非托管应用程序获取文本到c#应用程序?

如何从非托管应用程序获取文本到c#应用程序?,c#,c++,interop,com-interop,C#,C++,Interop,Com Interop,我有一个第三方应用程序,它创建了几个窗口,每个窗口都有一个包含我想要的文本的文本框。然后,我想在我的应用程序中使用这些信息,所以我只需要获取这些信息(稍后可能会通过按按钮触发一些命令返回到它) 第三方应用程序是未管理的C++。 我的应用程序是C#(.NET4.0) 我已经看到,您可以将“挂钩”应用到其他应用程序中,但老实说,我完全不知道该走哪条路以及如何走 一些建议会很好。您需要使用COM互操作。更多 < P>最简单的非托管C++互操作是通过C++/CLI实现的。如果已经有了一个简单的C包

我有一个第三方应用程序,它创建了几个窗口,每个窗口都有一个包含我想要的文本的文本框。然后,我想在我的应用程序中使用这些信息,所以我只需要获取这些信息(稍后可能会通过按按钮触发一些命令返回到它)

第三方应用程序是未管理的C++。 我的应用程序是C#(.NET4.0)

我已经看到,您可以将“挂钩”应用到其他应用程序中,但老实说,我完全不知道该走哪条路以及如何走


一些建议会很好。

您需要使用COM互操作。更多


< P>最简单的非托管C++互操作是通过C++/CLI实现的。如果已经有了一个简单的C包装器,那么P/Invoke就足够了。

我想知道所有关于托管代码、非托管代码和互操作的讨论是否都是在转移注意力。您是否能够与其他应用程序进行交互,或者您只是要使用FINDOWS查找其他应用程序,然后枚举它的子窗口,直到找到您所要的文本框,然后只调用GETWINDOWTEXTING?< /P>谢谢回答,知道任何资源来显示从C++应用程序抓取文本的基本示例吗?以前没有做过这种编码看起来很复杂,而且是一种学习曲线,一定是更简单的方法吗?我的C++非常有限,所以你需要做些什么,比如PInvoke或者微软绕道。也许更简单?只有在调用普通C函数时,P/Invoke方法才可用。你仍然需要使用所有的编组功能。事实上,这并不复杂,你不需要太多的C++,在你现有的API周围有一个简单的包装库。你必须使用FINDOWS,并试图“钩住”到子窗口,就像这样:但是需要一个文本框。