hn4u @ Last updated 21/11/04 22:42
Go to my homepage at http://4u.jcisio.com
Full version available at http://4u.jcisio.com/r/article382.htm

Không rõ

Hiện thị tên lớp và text trong cửa sổ Windows bất kỳ

Đây là một đoạn code rất hữu dụng khi bạn muốn xem một của sổ thuộc lớp nào. Bạn có thể sử dụng để xem những gì dấu sau khi cửa sổ của ứng dụng (chẳng hạn bạn có thể xem password được lưu dưới dạng *).

Private Type POINTAPI

x As Long

y As Long

End Type

Private Declare Function GetCursorPos Lib ''user32'' (lpPoint As POINTAPI) As Long

Private Declare Function GetClassName Lib ''user32'' Alias ''GetClassNameA'' (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) 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 Declare Function WindowFromPoint Lib ''user32'' (ByVal xPoint As Long, ByVal yPoint As Long) As Long

Const WM_GETTEXT = &HD

Const WM_GETTEXTLENGTH = &HE

Private Sub Form_Unload(Cancel As Integer)

End

End Sub

Private Sub Timer1_Timer()

Dim P As POINTAPI, lRet As Long, hHandle As Long, aClass As String, aText As String

lRet = GetCursorPos(P)

hHandle = WindowFromPoint(P.x, P.y)

aClass = Space$(128)

lRet = GetClassName(hHandle, aClass, 128)

aClass = Left$(aClass, lRet)

lblHandle.Caption = hHandle

lblClassName.Caption = aClass

Dim lTextlen As Long

lTextlen = SendMessage(hHandle, WM_GETTEXTLENGTH, 0, ByVal 0)

If lTextlen Then

If lTextlen > 1024 Then lTextlen = 1024

lTextlen = lTextlen + 1

aText = Space$(lTextlen)

lRet = SendMessage(hHandle, WM_GETTEXT, lTextlen, ByVal aText)

aText = Left$(aText, lRet)

End If

lblWText.Caption = aText

End Sub


hainam4u @ Last updated 21/11/04 22:42
Go to my homepage at http://4u.jcisio.com