Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > текстовое содержимое окон


Автор: CompWorm 3.8.2005, 20:39
данный код не работает для некоторых окон.
например для листбокса, особо важно - лейблов.
вообще он должен отображать в text1 текстовое содержимое окон при наведении на них курсора
----
вопрос: как оптимизировать его для ВСЕХ типов окон?
(ну для начала хотябы для лейблов)


Код

Option Explicit
Private Type POINTAPI
    X As Long
    Y As Long
End Type
Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal Msg As Long, wParam As Any, lParam As Any) As Long
Const WM_GETTEXT = &HD

Private Sub Command2_Click()
    End
End Sub


Private Sub Timer1_Timer()
    Dim curpos As POINTAPI
    Dim WhWnd As Long
    Dim window_text As String
    
    Dim slength As Long
    Dim retval As Long

    
    
    GetCursorPos curpos
    WhWnd = WindowFromPoint(curpos.X, curpos.Y)
    
    window_text = String(65535, Chr$(0))
    retval = SendMessage(WhWnd, WM_GETTEXT, ByVal 65535, ByVal window_text)
    If retval > 0 Then Text1.Text = Left$(window_text, retval)

End Sub


Автор: cardinal 3.8.2005, 21:50
Видать тебе сюда...
http://www.experts-exchange.com/Programming/Programming_Languages/Visual_Basic/Q_21018080.html

Автор: CompWorm 4.8.2005, 03:57
Цитата

I'm running a vb application exe and need to get the caption of a Label in another vb application exe. Have no access to the second application. Any help greatly appreciated.

кто сказал что второй апликейшан - vb производства??? ну ладно. так может тоже сработает. просто я не совсем уверен, что то приложение написано на вб... smile
а в виде исходного проекта нет ли того кода, что описан в брифенге? просто там че-то ошибок многовато получается...
это мне надо для одного софта и честно говоря, я понятия не имею как там выводят нужный мне текст. собственно поэтому мне и нужен общий код для разных вариантов...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)