从另一个应用程序获取标签(静态)文本

时间:2012-08-04 15:57:17

标签: .net vb.net stringbuilder

我在网上和这里都进行了研究,但我没有看到任何人和我有同样的问题。

我使用 AutoIt窗口信息工具获取另一个应用程序标签(静态)ID。 AutoIt窗口信息工具为我提供该控件的ID(标签)。所以我可以使用以下代码获取该文本:

For Each pr As Process In Process.GetProcessesByName("AnotherAppExeName")

    Dim sb as New StringBuilder
    sb.Capacity = 500
    GetDlgItemText(pr.MainWindowHandle, 1044, sb, sb.Capacity)

    '1044 Is the ID of another application's label
    'I print the string:

    MessageBox.Show(sb.ToString)
Next

这很有效。我可以从另一个应用程序获取控件的文本(id:1044)。但是其他应用程序有很多标签,我只能获得1044 ID的标签。例如,有另一个带有1043 ID的标签,但是当我应用相同的东西时,它会返回一个空字符串。

我该怎么做才能解决这个问题?

来自AutoIt窗口信息工具的屏幕:

AutoIt

0 个答案:

没有答案