elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Mensajes
Páginas: 1 2 3 4 [5] 6 7
41  Programación / Programación Visual Basic / Re: SendMessage en: 20 Septiembre 2011, 00:53 am
Hola, con respecto a tu respuesta: sería buscar una cadena dentro de una imágen como tu dices puede ser... quisiera saber si es posible.

Saludos.
42  Programación / Programación Visual Basic / Re: Píxeles y Bucle For en: 20 Septiembre 2011, 00:51 am
mmm... revisá si esto  puede servir, en caso q sirva... te toca optimizar.

Código
  1.  
  2. Option Explicit
  3.  
  4. Private Sub Form_Load()
  5.  Call SetWindowPos(Me.hwnd, -1, 0, 0, 0, 0, &H2 Or &H1)
  6.  AutoRedraw = True
  7.  FontBold = True
  8.  BackColor = &HAA431B
  9.  ForeColor = vbWhite
  10.  StartHook
  11. End Sub
  12.  
  13. Private Sub Form_Unload(Cancel As Integer)
  14.  StopHook
  15. End Sub
  16.  
  17.  



Código
  1.  
  2. Option Explicit
  3.  
  4. Private Declare Function SetWindowsHookEx Lib "user32.dll" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
  5. Private Declare Function UnhookWindowsHookEx Lib "user32.dll" (ByVal hHook As Long) As Long
  6. Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
  7. Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
  8. Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
  9.  
  10. Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
  11. Private Declare Function ReleaseDC Lib "user32.dll" (ByVal hwnd As Long, ByVal hdc As Long) As Long
  12.  
  13. Private Const WH_MOUSE_LL As Long = 14
  14.  
  15. Private Type POINTAPI: x As Long: y As Long: End Type
  16.  
  17. Dim hHook As Long
  18. Dim lDC As Long
  19.  
  20. Public Sub StartHook()
  21.    hHook = SetWindowsHookEx(WH_MOUSE_LL, AddressOf MouseProc, App.hInstance, &H0&)
  22.    lDC = GetWindowDC(&H0&)
  23. End Sub
  24.  
  25.  
  26. Public Sub StopHook()
  27.    Call UnhookWindowsHookEx(hHook)
  28.    hHook = &H0&
  29.    Call ReleaseDC(&H0&, lDC)
  30. End Sub
  31.  
  32.  
  33. Private Function MouseProc(ByVal ncode As Long, ByVal wParam As Long, lParam As POINTAPI) As Long
  34.  
  35.    Dim lColor As Long
  36.    lColor = GetPixel(lDC, lParam.x, lParam.y)
  37.  
  38.    'If Not lColor < 0 Then
  39.      'Form1.Cls
  40.      'Form1.Print Hex(lColor)
  41.      If lColor = &HAA431B Then
  42.        Form1.Caption = "SI"
  43.      Else
  44.        Form1.Caption = "NO"
  45.      End If
  46.    'End If
  47.  
  48.  MouseProc = CallNextHookEx(hHook, ncode, wParam, lParam)
  49.  
  50. End Function
  51.  
  52.  
  53.  
  54.  


Excelente justo lo que necesitaba! Gracias.
43  Programación / Programación Visual Basic / Re: SendMessage en: 19 Septiembre 2011, 03:35 am
Pues eso es lo que busco... pero mas bien sería buscar la cadena en el handle y esa posición especificarla en el lParam. Con respecto al Pixel podría hacerse algo?
44  Programación / Programación Visual Basic / Re: Píxeles y Bucle For en: 19 Septiembre 2011, 03:33 am
Sep pero para un proceso que no es el mio si necesito inyectar una DLL. Como podría hookear el mouse, sin especificar un determinado hwnd, simplemente los mensajes del mouse?

Saludos
45  Programación / Programación Visual Basic / Re: Píxeles y Bucle For en: 19 Septiembre 2011, 00:46 am
Jaj no me había fijado en eso, ya lo saqué del bucle pero el problema no era eso sino la sentencia if y el ver el color del pixel actual en donde se encuentra el mouse. Yo pense en ponerlo en un timer el código para verificar el color del pixel pero el bucle for es mucho más rapido que 1 milisegundo (que es el menor intervalo de un timer). Pues entonces digo, hago un hook y que al detectar WM_MOUSEMOVE verifique el color del pixel así estaría a la misma velocidad que el bulce... supongo jej. Pero necesito hacer un hook al mouse, no a mi aplicación y de otra ni hablar ya que tendría que inyectar una DLL... y no en basic  :rolleyes:.

Alguna idea?  :P

Saludos.
46  Programación / Programación Visual Basic / Re: Píxeles y Bucle For en: 18 Septiembre 2011, 23:45 pm
Pues sigo teniendo el mismo problema. El API SetCursorPos no es el problema, ese bucle lo hace en unas milesimas de segundo. El problema es el ver el color del pixel.
Gracias igual! ;D

Sigo esperando respuestas...

P.D: Te importaría darme tu msn?
47  Programación / Programación Visual Basic / Re: Píxeles y Bucle For en: 18 Septiembre 2011, 21:26 pm
Aver si me pueden ayudar con mi planteo...
48  Programación / Programación Visual Basic / Re: Píxeles y Bucle For en: 18 Septiembre 2011, 20:56 pm
Pues es en tiempo real... como podría hacer?
49  Programación / Programación Visual Basic / Píxeles y Bucle For en: 18 Septiembre 2011, 20:40 pm
Buenas a todos, estoy realizando una aplicacion la cual en un bucle for recorre, moviende el mouse, una determinada área y al encontrar un píxel con determinado color, se frene. EL PROBLEMA es que, al recorrer el área moviendo el cursor con el bucle previamente mencionado anda todo perfecto, con una rapidez considerable, en cambio cuando "coloco" el código para verificar si encuentra el píxel lo hace un 90% más lento. Este es mi código:

Código
  1. Dim iX As Integer
  2. Dim iY As Integer
  3. Dim hdc As Long, pxColor As Double
  4.  
  5.    Call GetCursorPos(Mouse)
  6.    For iX = Mouse.x To Mouse.x + 100
  7.        For iY = Mouse.y To Mouse.y + 75
  8.            Call SetCursorPos(iX, iY)
  9.            'Hasta acá todo bien, lo que viene ahora es lo que lenta muchísimo mi aplicación...
  10.  
  11.            hdc = GetDC(0)
  12.            pxColor = GetPixel(hdc, Mouse.x, Mouse.y)
  13.            ReleaseDC 0, hdc
  14.            Me.Caption = Hex(pxColor)
  15.            If Me.Caption = "AA431B" Then
  16.                Exit For
  17.            End If
  18.            '//
  19.        Next iY
  20.    Next iX

No se cual es el problema, por qué lo hace muchísimo mas lento. Ya que sin verificar el color lo hace en unas milésimas de segundo, y luego con el código para verificar tarda unos 20 o 30 en recorrer el mouse todo el área. Pues ni me imagino cuando haga áreas mas grandes.

Saludos.
50  Programación / Programación Visual Basic / Re: SendMessage en: 18 Septiembre 2011, 18:02 pm
A un determinado handle claro que si. Pero a alguna determinada cadena o algo parecido?
Páginas: 1 2 3 4 [5] 6 7
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines