1

Webでもここでも調べましたが、私と同じ悩みを持っている人は見たことがありません。

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) のテキストを取得できます。しかし、他のアプリケーションには多くのラベルがあり、ID が 1044 のものしか取得できません。たとえば、1043 ID の別のラベルがありますが、同じものを適用すると、空の文字列が返されます。

これを解決するにはどうすればよいですか?

AutoIt ウィンドウ情報ツールの画面:

AutoIt

4

0 に答える 0