Текст окна поиска

Привет всем, я пытаюсь получить текст из внешней программы. В настоящее время я использую этот код:

Dim lngHWND As Long
Dim lngHWNDF As Long
Dim lngID As Long
Dim lngChild As Long
Dim lngRet As Long

lngHWND = FindWindow(vbNullString, "Client - Main")

Do
   lngChild = FindWindowEx(lngHWND, 0&, "ThunderRT6Frame", vbNullString)

   If lngChild <> 0 Then
        lngID = GetWindowLong(lngChild, GWL_ID)
        MsgBox("Child HWND: " & Hex(lngChild) & " ID: " & lngID)
        lngRet = CloseHandle(lngChild)
   End If
Loop Until lngChild = 0

lngRet = CloseHandle(lngHWNDF)
lngRet = CloseHandle(lngHWND)

Я получаю значения для lngHWND, lngHWNDF и lngChild. Однако это только значения (числа), а не сам текст.

Вот изображение программы, из которой я пытаюсь получить текст:прога

Как я могу получить текст из найденных предметов?

Дэвид

1 ответ

Буквально прошло более десяти лет, но я уверен, что вы можете использовать SendMessage/WM_GETTEXT на дескриптор (ы) дочерних окон, которые вы хотите текст. Вам нужно подготовить строковые буферы, в которые API может записать результаты, если вы пойдете по этому пути.

Там также, кажется, ярлык для использования SendMessage/WM_GETTEXT Я нашел здесь:

Public Declare Ansi Function GetWindowText Lib "User32.dll" Alias "GetWindowTextA" ( _
    ByVal hwnd As Integer, _
    ByVal lpString As StringBuilder, _
    ByVal nMaxCount As Integer) As Integer

' example:
Dim s As New StringBuilder(256)
GetWindowText(hwnd, s, s.Capacity)
Другие вопросы по тегам