我们有一个用 C++ 编写的旧 Windows 32 位应用程序,它执行一些操作并将结果显示在类似于文本框的内容中。
有人要求我用 C# 编写一个应用程序,从旧应用程序中读取数据,然后进一步处理数据。
问题是我如何读取旧应用程序中的文本框?
有人告诉我,我可以使用 Windows API 获取应用程序的“句柄”,逐步执行控件,然后读取每个控件的数据!这是真的吗?如果是的话,我该如何从 C# 中做到这一点?
这是一个 .Net 4 Windows 窗体应用程序。
非常感谢
最佳答案
您可能不得不使用一些 Interop 调用来完成此操作,特别是使用 FindWindow 的组合/FindWindowEx和 SendMessage & WM_GETTEXT/WM_GETTEXTLENGTH .
这是一个 article关于这个主题(在 C++ 中,但是只需移植相同的概念即可使用 P/Invoke ),它有点过时,但我相信它应该与您的情况非常相关。
关于c# - 使用 Windows API 从 C# Windows 窗体应用程序读取非 C# 应用程序文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7014544/