Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: NiquitooX en 2 Marzo 2014, 04:33 am



Título: detectar obj
Publicado por: NiquitooX en 2 Marzo 2014, 04:33 am
cree un text en un form.. lo que no me detecta es el class en el text cuando le paso el mouse por arriva si alguien podria ayudarme porfavor.

Código
  1. Private Type POINTAPI
  2.    X As Long
  3.    Y As Long
  4. End Type
  5.  
  6. Private Declare Function GetClassName Lib "user32" Alias _
  7. "GetClassNameA" ( _
  8. ByVal hwnd As Long, _
  9. ByVal lpClassName As String, _
  10. ByVal nMaxCount As Long) As Long
  11.  
  12. Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
  13.  
  14. Dim Mouse As POINTAPI

en un timer interval 100

Código
  1. Private Sub Timer1_Timer()
  2.  
  3.     Dim sClass As String * 255
  4.        Dim lhWnd As Long
  5.             Dim lRetVal As Long
  6.             Dim classdettect As String
  7.  
  8.    Call GetCursorPos(Mouse)
  9.  
  10.      lRetVal = GetClassName(lhWnd, sClass, 255)
  11.  
  12.    Me.Cls
  13.    Text1.Text = sClass
  14.    Me.Print "Posicion del cursor :"
  15.  
  16.    Me.Print "X:" + Str$(Mouse.X) + vbCrLf + "Y:" + Str$(Mouse.Y)
  17. end sub


Título: Re: detectar objetos class..
Publicado por: BlackZeroX en 2 Marzo 2014, 23:18 pm
debes obtener el Handle de la ventana con:


Código
  1. HWND WINAPI WindowFromPoint(
  2.  _In_  POINT Point
  3. );

Justo la llamada debe estar despues de GetCursorPos y antes de GetClassName()...

Código
  1. ...
  2.    GetCursorPos(Mouse)
  3.    ldWnd = WindowFromPoint(Mouse)
  4.    lRetVal = GetClassName(lhWnd, sClass, 255)
  5. ...

Dulces Lunas!ˇ.