关闭。这个问题不符合 Stack Overflow guidelines 。它目前不接受答案。
想改善这个问题吗?更新问题,以便堆栈溢出为 on-topic。
去年关闭。
Improve this question
我需要从 Windows 应用程序中抓取数据以在另一个程序中运行查询。有没有人知道我在 .NET 中做这件事的一个好的起点?
最佳答案
您可能需要查看 WM_GETTEXT message 。这可以是 used to read text from other windows——它是 Windows API 的一个古老部分,如果你使用 C#,你需要为它 p/invoke。
查看 this page 以获取在 C# 中执行此操作的示例。
基本上,您首先通过 FindControlEx() 获取所需窗口的句柄(按标题)。
其次,您使用 EnumChildWindows() 递归枚举该窗口上的控件以查找窗口的所有子控件以及所有这些子控件的子控件,直到您拥有目标窗体的完整映射。
以下是从 Google Answers 中选择的 Theta-ga's excellent explanation 部分:
要获取任何文本框或列表框控件的内容,我们只需要它的窗口句柄。如果您已经获得了窗口句柄,请移至说明的第 2 部分。
第 1 部分:获取控制句柄
第 2 部分:读取控件的内容
关于c# - 在 c# 中屏幕抓取 Windows 应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/375117/