Как взять текст из окна, зная его Handle? - VB

Узнай цену своей работы

Формулировка задачи:

К примеру я знаю хэндл (hWnd) текстового окна в любой запущенной программе. Как мне взять из неё текст????? SendMessage(ом) работает, но только в VB3, а в VB6 какая-то критическая ошибка и всё виснет.

Решение задачи: «Как взять текст из окна, зная его Handle?»

textual
Листинг программы
Private Declare Function SendMessage Lib 'user32' Alias 'SendMessageA' (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function SendMessageStr Lib 'user32' Alias 'SendMessageA' (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As String) As Long
Private Const WM_GETTEXT = &HD
Private Const WM_GETTEXTLENGTH = &HE
 
Private Sub Command1_Click()
    Dim lngLen As Long
    Dim strBuffer As String
    
    lngLen = SendMessage(TextboxHwnd, WM_GETTEXTLENGTH, 0, 0)
    strBuffer = Space(lngLen)
    Call SendMessageStr(TextboxHwnd, WM_GETTEXT, lngLen, ByVal strBuffer)
    MsgBox strBuffer
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы