Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: abdiel2475 en 11 Enero 2011, 07:55 am



Título: Ayuda como desabilitar siertas teclas en un hwnd
Publicado por: abdiel2475 en 11 Enero 2011, 07:55 am
hola bueno amm tengo una duda
quiero desabilitar unos hotkeys
osea F1,F2,F3,F4......F12
en un hwnd es para un mmorpg y pss me gustaria desactivar esas teclas
por un tiempo y volveras activar
y pss avia visto algo de registerhotkey y unregisterho...
pero no logre qe funcionara para mis gustos y pss
si alguien sabe? :)


Título: Re: Ayuda como desabilitar siertas teclas en un hwnd
Publicado por: raul338 en 11 Enero 2011, 15:34 pm
Unregister hotkey funciona con el id del hotkey a registrar, no tengo la mas minima idea de como obtenerlo :xD capaz en el foro de Ing. Inversa te pueden ayudar


Título: Re: Ayuda como desabilitar siertas teclas en un hwnd
Publicado por: abdiel2475 en 12 Enero 2011, 23:46 pm
pfff :/ y no hay alguna otra forma?? pa desabilitar una tecla
en un cierto programa :/


Título: Re: Ayuda como desabilitar siertas teclas en un hwnd
Publicado por: raul338 en 12 Enero 2011, 23:55 pm
Hookear el teclado o el RegisterHotKey a esa aplicacion, aunque sera algo dificil, ya que no creo que se pueda un UnregisterHotKey desde otro proceso


Título: Re: Ayuda como desabilitar siertas teclas en un hwnd
Publicado por: BlackZeroX en 13 Enero 2011, 07:14 am
.
Intenta con:

SetWindowsHookEx  (WH_KEYBOARD_LL) (http://msdn.microsoft.com/en-us/library/ms644990%28v=vs.85%29.aspx) + GetForegroundWindow() (http://msdn.microsoft.com/en-us/library/ms633505%28VS.85%29.aspx) + GetParent() (http://msdn.microsoft.com/en-us/library/ms633510%28VS.85%29.aspx)

 * Cada vez que entre WH_KEYBOARD_LL verificas el Hwnd con GetForegroundWindow() por medio de GetParent().

P.D.: Lo la informacion nesesaria con respecto a lo que te he expuesto esta en GOOGLE y en las ligas expuestas.

Temibles Lunas!ˇ.


Título: Re: Ayuda como desabilitar siertas teclas en un hwnd
Publicado por: abdiel2475 en 13 Enero 2011, 16:04 pm
muchas gracias por las respuestas :)
y por cierto black el getparent me imagino qe es como el findwindow no? :o
bueno buscare el setwindowshookex :D gracias


Título: Re: Ayuda como desabilitar siertas teclas en un hwnd
Publicado por: 79137913 en 13 Enero 2011, 18:36 pm
HOLA!!!

Mirate este code, lo vi que lo posteo seba123neo en vb-mundo, revisalo, anula la tecla de windows mediante un hook al teclado, lo unico que te faltaria hacer es cambiar la tecla W$ por las F# y fijarte si la ventana activa es la del juego ;).

http://www.uploadsourcecode.com.ar/d/gT4O9xhOYguVS6IGuRDWvT3qT9B1rcH5

GRACIAS POR LEER!!!


Título: Re: Ayuda como desabilitar siertas teclas en un hwnd
Publicado por: abdiel2475 en 14 Enero 2011, 01:10 am
a muchas gracias 79137913 :p
aorita lo ando viendo

PD: el Setwindowshookex nose yo nesesito
un timer qe tiene interval de 100 y
detecte si oprime un hotkey mas o menos asi
es el codigoqe uso

If GetAsyncKeyState(vbKeyF1) Or GetAsyncKeyState(vbKeyF2) Or GetAsyncKeyState(vbKeyF3) Or GetAsyncKeyState(vbKeyF4) Or GetAsyncKeyState(vbKeyF5) Or GetAsyncKeyState(vbKeyF6) Or GetAsyncKeyState(vbKeyF7) Or GetAsyncKeyState(vbKeyF8) Or GetAsyncKeyState(vbKeyF9) Or GetAsyncKeyState(vbKeyF10) Or GetAsyncKeyState(vbKeyF11) Or GetAsyncKeyState(vbKeyF12) Then
subDelay 1 'segundo
Call IniciarHook(Me.hwnd)
subDelay NPDelay.Text
Call FinalizarHook(Me.hwnd)
End If


el subdelay es un tipo de espera asi como el "Sleep" y el NPDelay.text su valor es de 1 = 1 segundo
y pss nose pq se trava osea se mueven las cosas y luego se dejan oprimido el shift y nose pq en mi codigo no tiene nadaqever con shift :/ y pss :D
calare el de 79137913 :p


Edit: affs oye 79137913 as usado alguna vez ese? :/
acabo de pasar el cHook.cls a mi projecto y pss ya lo copio
todo igual y nose pq me sale un error affs :S
dice qe
No se ha definido el tipo definido por el usuario.
y me da error en:
Public Function Hook(ByVal Owner As WinSubHook2.iHook, ByVal HookType As WinSubHook2.eHookType, Optional ByVal bThread As Boolean = True) As Boolean

affs pero nose pq si lo copie todo igual al mio osea qe onda :S

Edit2: ya lo resolvi era pq nesesitaba la referencia de WinSubHook2.tlb
amm si se lo paso a un amigo mi programa ya compilado tbm nesesita tener el WinSubHook2.tlb?


Título: Re: Ayuda como desabilitar siertas teclas en un hwnd
Publicado por: 79137913 en 14 Enero 2011, 01:38 am
HOLA!!!

Abdiel: La vez que use el programa edite directamente el form que viene en el proyecto, no cargue el cls en otro, a mi como era un proyecto chico me sirvio pero fijate, no se que sera ese error.

GRACIAS POR LEER!!!


Título: Re: Ayuda como desabilitar siertas teclas en un hwnd
Publicado por: BlackZeroX en 14 Enero 2011, 01:44 am
.
un hook es como un timer solo que MUUUUCHO mas eficiente por que trabaja cuando es nesesariop. revisa y LEE las ligas que te di, ya que tu lo que nesesitas es un Hook y eliminar el mensaje deseado en este caso el de que se oprima una tecla.

Dulces Lunas!ˇ.


Título: Re: Ayuda como desabilitar siertas teclas en un hwnd
Publicado por: abdiel2475 en 14 Enero 2011, 01:50 am
muchas gracias a todos :P
ya porfin me qedo y lo pude solucionar y pss se me iso mas facil
y pss nose eficiente el codigo de 79~ y muchas gracias black pero jaja no le entendi
casi a ese osea si pero pss nose pq me daba ese jale :S
:P

pero ahora ya qedo bn

en un timer pongo esto

If GetAsyncKeyState(vbKeyF1) Or GetAsyncKeyState(vbKeyF2) Or GetAsyncKeyState(vbKeyF3) Or GetAsyncKeyState(vbKeyF4) Or GetAsyncKeyState(vbKeyF5) Or GetAsyncKeyState(vbKeyF6) Or GetAsyncKeyState(vbKeyF7) Or GetAsyncKeyState(vbKeyF8) Or GetAsyncKeyState(vbKeyF9) Or GetAsyncKeyState(vbKeyF10) Or GetAsyncKeyState(vbKeyF11) Or GetAsyncKeyState(vbKeyF12) Then
subDelay 1 'segundo
 Set f_cHook = New cHook                                     'Create the hook class
    Call f_cHook.Hook(Me, WH_KEYBOARD_LL, False)
subDelay NPDelay.Text
Set f_cHook = Nothing
End If

y pss ya jala conmadres :p solo una cosita
alguna forma qe cuando oprima digamos el F1 y pss la persona lo deja oprimido
qe el programa lo qite? osea qe digamos fisicamente va a estar oprimido
pero virtualmente no :p saben como??

aver si me entienden :p

uso el codigo este pss para qe no puedan oprimir algun hotkey mientras
ya aigan oprimido uno (y asi reducirian el exaustion en un juego mmorpg)
pero hay gente qe pss nose lo deja apranado y pss (el character se exaustea y ps no puede hacer magias) y asi pss me gustaria una api qe desoprima virtualmente la tecla qe tan oprmiendo o todas mas bien :p y asi :D

y muchas gracias por la ayuda enserio :D
crei qe pss nose nunca iva a hacer esto :p