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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [Source] Invertir Ejes del Mouse.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [Source] Invertir Ejes del Mouse.  (Leído 7,190 veces)
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
[Source] Invertir Ejes del Mouse.
« en: 20 Octubre 2010, 09:35 am »

.
Solo invierte los ejeus del mouse es decir si van para arrba iran para abajo y biceversab es lo mismo si van a la derecha se ira a la izquierda y biceversa.

OJO: Sustitui las Estructuras (PointAPI) por Arrays de Long para reducir mas el codigo xD

http://infrangelux.sytes.net/blog/index.php/component/content/article/5-hooks/2-srcinvertejesmouse.html
http://visual-coders.herobo.com/blog/?p=274

Código
  1.  
  2. '
  3. '   /////////////////////////////////////////////////////////////
  4. '   // Autor:   BlackZeroX ( Ortega Avila Miguel Angel )       //
  5. '   //                                                         //
  6. '   // Web:     http://InfrAngeluX.Sytes.Net/                  //
  7. '   //                                                         //
  8. '   //    |-> Pueden Distribuir Este codigo siempre y cuando   //
  9. '   // no se eliminen los creditos originales de este codigo   //
  10. '   // No importando que sea modificado/editado o engrandecido //
  11. '   // o achicado, si es en base a este codigo                 //
  12. '   /////////////////////////////////////////////////////////////
  13.  
  14. Option Explicit
  15.  
  16. Public Const WH_MOUSE_LL = 14
  17. Public Const WM_MOUSEMOVE = &H200
  18.  
  19. Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal Destination As Any, ByVal Source As Any, ByVal Length As Long)
  20.  
  21. 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
  22. Private Declare Function CallNextHookEx Lib "user32.dll" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  23. Private Declare Function UnhookWindowsHookEx Lib "user32.dll" (ByVal hHook As Long) As Long
  24.  
  25. Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
  26. Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
  27.  
  28. Private Ant_PosCur(0 To 1)              As Long
  29. Private lng_HookProc                    As Long
  30. Private Boo_Switch                      As Boolean
  31.  
  32. Public Sub InvertirMouse()
  33.    If lng_HookProc = 0& Then
  34.        Boo_Switch = False
  35.        lng_HookProc = SetWindowsHookEx(WH_MOUSE_LL, AddressOf MouseProc, App.hInstance, 0)
  36.    End If
  37. End Sub
  38.  
  39. Public Sub DetenerInvertirMouse()
  40.    If lng_HookProc Then
  41.        Call UnhookWindowsHookEx(lng_HookProc)
  42.        lng_HookProc = 0&
  43.    End If
  44. End Sub
  45.  
  46. Private Function MouseProc(ByVal idHook As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  47. Dim Struc_PT(0 To 1)                    As Long
  48. Dim lng_Index                           As Long
  49.  
  50.    If wParam = WM_MOUSEMOVE And Not Boo_Switch Then
  51.  
  52.        Boo_Switch = True
  53.  
  54.        Call CopyMemory(ByVal VarPtr(Struc_PT(0)), ByVal lParam, 8)
  55.  
  56.        For lng_Index = 0 To 1
  57.            If Not Struc_PT(lng_Index) = Ant_PosCur(lng_Index) _
  58.                And Ant_PosCur(lng_Index) > 0 _
  59.                And Ant_PosCur(lng_Index) <= GetSystemMetrics(lng_Index) Then
  60.                If Struc_PT(lng_Index) < Ant_PosCur(lng_Index) Then
  61.                    Struc_PT(lng_Index) = Struc_PT(lng_Index) + ((Ant_PosCur(lng_Index) - Struc_PT(lng_Index)) * 2)
  62.                ElseIf Struc_PT(lng_Index) > Ant_PosCur(lng_Index) Then
  63.                    Struc_PT(lng_Index) = Struc_PT(lng_Index) - ((Struc_PT(lng_Index) - Ant_PosCur(lng_Index)) * 2)
  64.                End If
  65.            End If
  66.        Next
  67.  
  68.        Call SetCursorPos(Struc_PT(0), Struc_PT(1))
  69.        Call CopyMemory(ByVal VarPtr(Ant_PosCur(0)), ByVal VarPtr(Struc_PT(0)), 8)
  70.        'Call CopyMemory(ByVal lParam, ByVal VarPtr(Struc_PT(0)), 8)    '   //  Esto solo actuyaliza lParam
  71.  
  72.        Boo_Switch = False
  73.        MouseProc = &H1 '   //  CallNextHookEx(lng_HookProc, idHook, wParam, lParam)   '   //  Si dejo pasar ignorara la nueva posición...
  74.    Else
  75.        MouseProc = CallNextHookEx(lng_HookProc, idHook, wParam, lParam)
  76.    End If
  77.  
  78. End Function
  79.  
  80.  

Dulce Infierno Lunar!¡.


« Última modificación: 20 Octubre 2010, 18:36 pm por BlackZeroX▓▓▒▒░░ » En línea

The Dark Shadow is my passion.
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [Source] Invertir Ejes del Mouse.
« Respuesta #1 en: 20 Octubre 2010, 13:16 pm »

Código
  1. Exit Function       '   //  Si no se hace Esto no funciona el efecto de mouse invertido xS
  2.  
Porque? :huh:

DoEvents! :P


En línea

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [Source] Invertir Ejes del Mouse.
« Respuesta #2 en: 20 Octubre 2010, 13:59 pm »

HOLA!!!

Esta muy bueno el code, pero, creo que lo mejor seria enviarle una variable a la funcion de 1 a 360 representando donde estaria el "arriba" , que por default seria 90 y para invertirlo seria 270 y todo asi. Eso seria muy muy bueno.

No se si es mucho pedir pero estaria genial que el source hiciera eso

GRACIAS POR LEER!!!
En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [Source] Invertir Ejes del Mouse.
« Respuesta #3 en: 20 Octubre 2010, 18:07 pm »

.
@79137913

Por eso es Open Source!¡.

Dulce Infierno Lunar!¡.
En línea

The Dark Shadow is my passion.
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [Source] Invertir Ejes del Mouse.
« Respuesta #4 en: 20 Octubre 2010, 18:13 pm »

Código
  1.        Exit Function       '   //  Si no se hace Esto no funciona el efecto de mouse invertido xS
  2.    End If
  3.  
De hecho si funciona, pero creo que eso estaba por esto :P
Código
  1.    'MouseProc = CallNextHookEx(lng_HookProc, idHook, wParam, lParam)
  2.  
como ya no se ejecuta mas, quedo ahi :xD
En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [Source] Invertir Ejes del Mouse.
« Respuesta #5 en: 20 Octubre 2010, 18:15 pm »

.
Bueno lo que pasa que si hago pasar el siguiente Hook lo que me hace es que ignora la nueva posicion de mouse xS

Dulce Lunas!¡.
En línea

The Dark Shadow is my passion.
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [Source] Invertir Ejes del Mouse.
« Respuesta #6 en: 20 Octubre 2010, 18:17 pm »

Claro, precisamente el CallNextHookEx es para decir que procese los parametros de forma normal :xD
pero como estaba comentado, ya no hacia falta el Exit Function
En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [Source] Invertir Ejes del Mouse.
« Respuesta #7 en: 20 Octubre 2010, 18:19 pm »

Una quequeña modificación

sustituir

Código
  1.  
  2.  
  3.        For lng_Index = 0 To 1
  4.            If Not Struc_PT(lng_Index) = Ant_PosCur(lng_Index) _
  5.                And Ant_PosCur(lng_Index) > 0 _
  6.                And Ant_PosCur(lng_Index) <= GetSystemMetrics(lng_Index) Then
  7.                If Struc_PT(lng_Index) < Ant_PosCur(lng_Index) Then
  8.                    Struc_PT(lng_Index) = Struc_PT(lng_Index) + ((Ant_PosCur(lng_Index) - Struc_PT(lng_Index)) * 2)
  9.                ElseIf Struc_PT(lng_Index) > Ant_PosCur(lng_Index) Then
  10.                    Struc_PT(lng_Index) = Struc_PT(lng_Index) - ((Struc_PT(lng_Index) - Ant_PosCur(lng_Index)) * 2)
  11.                End If
  12.            End If
  13.        Next
  14.  
  15.  

por

Código
  1.  
  2.  
  3.        For lng_Index = 0 To 1
  4.            If Not Struc_PT(lng_Index) = Ant_PosCur(lng_Index) _
  5.                And Ant_PosCur(lng_Index) >= 0 _
  6.                And Ant_PosCur(lng_Index) <= GetSystemMetrics(lng_Index) Then
  7.                If Struc_PT(lng_Index) < Ant_PosCur(lng_Index) Then
  8.                    Struc_PT(lng_Index) = Struc_PT(lng_Index) + ((Ant_PosCur(lng_Index) - Struc_PT(lng_Index)) * 2)
  9.                ElseIf Struc_PT(lng_Index) > Ant_PosCur(lng_Index) Then
  10.                    Struc_PT(lng_Index) = Struc_PT(lng_Index) - ((Struc_PT(lng_Index) - Ant_PosCur(lng_Index)) * 2)
  11.                End If
  12.            End If
  13.        Next
  14.  
  15.  

Es solo para que no se quede trabajo el mouse en la parte superior de la pantalla xP

Dulce Infierno Lunar!¡.
En línea

The Dark Shadow is my passion.
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [Source] Invertir Ejes del Mouse.
« Respuesta #8 en: 20 Octubre 2010, 18:27 pm »

.
Codigo Actualizado... se me olvido pasar el Hook si es un click u otra cosa.

Dulce Infierno Lunar!¡.
« Última modificación: 20 Octubre 2010, 19:01 pm por BlackZeroX▓▓▒▒░░ » En línea

The Dark Shadow is my passion.
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [Source] Invertir Ejes del Mouse.
« Respuesta #9 en: 20 Octubre 2010, 18:46 pm »

Ook buena Black! :D
Gracias por la explicacion raul338 :xD

DoEvents! :P
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda ordenar ejes
Programación C/C++
majojimu 3 2,058 Último mensaje 4 Julio 2013, 09:37 am
por eferion
Robots y la gobernanza de la red, ejes del Día de Internet 2014
Noticias
wolfbcn 0 1,181 Último mensaje 8 Mayo 2014, 01:23 am
por wolfbcn
[SOURCE] Mouse Point Viewer
.NET (C#, VB.NET, ASP)
Eleкtro 4 14,075 Último mensaje 22 Septiembre 2017, 17:35 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines