Использование GetDlgItemText для получения текста из контрола - VB
Формулировка задачи:
Пытаюсь получить текст из блокнота.
GetDlgItemText ничего не передает в буфер. Код ошибки - 0.
Помогите разобраться.
GetDlgItem - http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
GetDlgItemText - http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Решение задачи: «Использование GetDlgItemText для получения текста из контрола»
textual
Листинг программы
Option Explicit Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long 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 Const WM_GETTEXT = &HD Private Const WM_GETTEXTLENGTH = &HE Private Sub Form_Load() Dim H_Parent As Long, H_Control As Long Dim strText As String Dim lngTextLength As Long H_Parent = FindWindow("notepad", vbNullString) 'Try with FindWindow If H_Parent <> 0 Then H_Control = FindWindowEx(H_Parent, 0, "edit", vbNullString) If H_Control <> 0 Then lngTextLength = SendMessage(H_Control, WM_GETTEXTLENGTH, 0, ByVal 0&) strText = Space(lngTextLength + 1) SendMessage H_Control, WM_GETTEXT, lngTextLength + 1, ByVal strText strText = Left(strText, lngTextLength) End If End If End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д