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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  alguien puede ayudarmecon este codigo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: alguien puede ayudarmecon este codigo  (Leído 2,418 veces)
pedraosone

Desconectado Desconectado

Mensajes: 90


Ver Perfil
alguien puede ayudarmecon este codigo
« en: 4 Octubre 2007, 21:36 pm »

hola
tengo un pequeño codigo que he creado en un form, y funciona, pero lo que yo quiero es que funcione aun estando el programa minimizado, no se si me explico
la idea es crear un pequeño programa que cuando se esta ejecutando
al pulsar alguna tecla que he definido del 1 al 9 y las letras (a,b,c) estas suman un 1 a una variable y cuando la variable sea igual a 4 me muestre un mensaje
el codigo que aqui pongo es el que empleo aunque para qe funcione tuve que emplear un text1 y me gustaria que funcione sin nesesidad de usarlo y estando la aplicacion minimisada
espero haberme explicado bien, perdonen mis errores pero no me se expresar muy bien
gracias
aqui les dejo el codigo:

Dim num(1 To 12) As Integer

Private Sub Text1_KeyPress(KeyAscii As Integer)
  If KeyAscii = Asc("1") Then
      num(1) = num(1) + 1
     Else
  If KeyAscii = Asc("2") Then
      num(2) = num(2) + 1
     Else
  If KeyAscii = Asc("3") Then
      num(3) = num(3) + 1
     Else
  If KeyAscii = Asc("4") Then
      num(4) = num(4) + 1
     Else
  If KeyAscii = Asc("5") Then
      num(5) = num(5) + 1
     Else
  If KeyAscii = Asc("6") Then
      num(6) = num(6) + 1
     Else
  If KeyAscii = Asc("7") Then
      num(7) = num(7) + 1
     Else
  If KeyAscii = Asc("8") Then
      num(8) = num(8) + 1
     Else
  If KeyAscii = Asc("9") Then
      num(9) = num(9) + 1
     Else
  If KeyAscii = Asc("a") Then
      num(10) = num(10) + 1
     Else
  If KeyAscii = Asc("b") Then
      num(11) = num(11) + 1
     Else
  If KeyAscii = Asc("c") Then
      num(12) = num(12) + 1
    End If
    End If
    End If
    End If
    End If
    End If
    End If
    End If
    End If
    End If
    End If
    End If
    For x = 1 To 12
    If num(x) = 4 Then
    msgbox "el numero " & x & "  se pulso 4 veces ya"   
    End If
    Next x
 End Sub




En línea

zXxOsirisxXz

Desconectado Desconectado

Mensajes: 50



Ver Perfil
Re: alguien puede ayudarmecon este codigo
« Respuesta #1 en: 4 Octubre 2007, 22:19 pm »

Código:
Private Declare Function GetAsyncKeyState Lib "user32" _
    (ByVal vKey As Long) As Integer

Este es el k neceistas para las teclas precionadas con programas minizados.. o no, como sea..

Para hacer las teclas, ps..

Código:
If GetAsyncJKeyState (vbKey1) then "lo k sea"

Salu2


En línea

pedraosone

Desconectado Desconectado

Mensajes: 90


Ver Perfil
Re: alguien puede ayudarmecon este codigo
« Respuesta #2 en: 4 Octubre 2007, 22:30 pm »

no entiendo muy bien el segundo codigo , y lo he ejecutado y me da error(el procedimiento externo no es valido )
te seria muy complicado ponerme un ejemplo
gracias

En línea

Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: alguien puede ayudarmecon este codigo
« Respuesta #3 en: 4 Octubre 2007, 22:40 pm »

Esto lo pones arriba del todo en las declaraciones de tu Form

Código:
Private Declare Function Getasynckeystate Lib "user32" Alias "GetAsyncKeyState" (ByVal VKEY As Long) As Integer

Luego crea un timer con un Intervalo de 1 y el código del timer te quedaría así:

Código
  1. Private Sub Timer1_Timer()
  2. On Error Resume Next
  3. Dim keystate As Long
  4.  
  5. keystate = Getasynckeystate(vbKey1)
  6. If (keystate And &H1) = &H1 Then
  7.   MsgBox "lo que quieras mostrar"
  8. End If
  9. End Sub

Lo que tú tienes que hacer es cambiar en la variable la parte de vbKey1 por la tecla que quieras. La tecla dos sería vbKey2, la 3 vbKey3 y así sucesivamente... sino encuentras alguna tecla puedes usar su valor ascii que lo puedes encontrar fácilmente en google.

Tú para hacer lo mismo que ese código que has puesto deberías de poner un keystate para cada tecla...

Código
  1. Private Sub Timer1_Timer()
  2. On Error Resume Next
  3. Dim keystate As Long
  4.  
  5. keystate = Getasynckeystate(vbKey1)
  6. If (keystate And &H1) = &H1 Then
  7.   num(1)=num(1)+1
  8. End If
  9.  
  10. keystate = Getasynckeystate(vbKey2)
  11. If (keystate And &H1) = &H1 Then
  12.   num(2)=num(2)+1
  13. End If
  14.  
  15.  
  16. keystate = Getasynckeystate(vbKey3)
  17. If (keystate And &H1) = &H1 Then
  18.   num(3)=num(3)+1
  19. End If
  20.  
  21. .
  22. .
  23. .
  24. 'Y así con todas las teclas que quieras y luego puedes hacer un if más para ejecutar 'el mensaje.
  25.  If num(x) = 4 Then
  26.    msgbox "el numero " & x & "  se pulso 4 veces ya"  
  27.    End If
  28. End Sub

Sólo tienes que adaptarlo a lo que tú quieras hacer, es fácil, espero que te haya aclarado las dudas.

Saludos
En línea

pedraosone

Desconectado Desconectado

Mensajes: 90


Ver Perfil
Re: alguien puede ayudarmecon este codigo
« Respuesta #4 en: 4 Octubre 2007, 23:04 pm »

muchas gracias por tu ayuda
en cuanto cene me pongo a probarlo a ver si me funciona
nuevamente gracias
hola ya he probado tu codigo y algo he de hacer mal
no deja de darme el mensaje :
(el numero  se pulso 4 veces ya ) una y otra vez
 
el codigo que tengo en el preograma es este:
Private Declare Function GetAsyncKeyState Lib "user32" _
    (ByVal vKey As Long) As Integer
   
  Dim num(1 To 3) As Integer
 
   
Private Sub Timer1_Timer()

On Error Resume Next
Dim keystate As Long
keystate = GetAsyncKeyState(vbKey1)
If (keystate And &H1) = &H1 Then
num(1) = num(1) + 1
End If
keystate = GetAsyncKeyState(vbKey2)
If (keystate And &H1) = &H1 Then
num(2) = num(2) + 1
End If
keystate = GetAsyncKeyState(vbKey3)
If (keystate And &H1) = &H1 Then
num(3) = num(3) + 1
End If
'Y así con todas las teclas que quieras y luego puedes hacer un if más para ejecutar 'el mensaje.
If num(1) = 4 Then
MsgBox "el numero " & num(1)  & "  se pulso 4 veces ya"
End If
End Sub
espero que alguien vea cual es el error y me ayude gracias


« Última modificación: 4 Octubre 2007, 23:54 pm por pedraosone » En línea

Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: alguien puede ayudarmecon este codigo
« Respuesta #5 en: 5 Octubre 2007, 01:51 am »

Claro amigo mío,si no reinicias la variable... siempre valdrá 4 y siempre saldrá el mensaje...

Qué tal si pruebas a reiniciar la variable?

Código
  1. Private Declare Function GetAsyncKeyState Lib "user32" _
  2.    (ByVal vKey As Long) As Integer
  3.  
  4.  Dim num(1 To 3) As Integer
  5.  
  6.  
  7. Private Sub Timer1_Timer()
  8.  
  9. On Error Resume Next
  10. Dim keystate As Long
  11. keystate = GetAsyncKeyState(vbKey1)
  12. If (keystate And &H1) = &H1 Then
  13. num(1) = num(1) + 1
  14. End If
  15. keystate = GetAsyncKeyState(vbKey2)
  16. If (keystate And &H1) = &H1 Then
  17. num(2) = num(2) + 1
  18. End If
  19. keystate = GetAsyncKeyState(vbKey3)
  20. If (keystate And &H1) = &H1 Then
  21. num(3) = num(3) + 1
  22. End If
  23. 'Y así con todas las teclas que quieras y luego puedes hacer un if más para ejecutar 'el mensaje.
  24. If num(1) = 4 Then
  25. MsgBox "el numero " & num(1)  & "  se pulso 4 veces ya"
  26. num(1)=0
  27. End If
  28. End Sub

Muy fácil.. creo que eso solucionará tu problema.

Saludos
En línea

pedraosone

Desconectado Desconectado

Mensajes: 90


Ver Perfil
Re: alguien puede ayudarmecon este codigo
« Respuesta #6 en: 5 Octubre 2007, 01:54 am »

muchisimas gracias y perdonad mi ignorancia pero aun no me desenvuelbo bien en este mundo de la programacion
amigo si me funciono
muchas gracias
« Última modificación: 5 Octubre 2007, 04:17 am por pedraosone » En línea

Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: alguien puede ayudarmecon este codigo
« Respuesta #7 en: 5 Octubre 2007, 01:57 am »

Para eso estamos, para ayudarnos unos a otros.

De los errores se aprende  ;) ;)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Aver si alguien puede ayudarme con este codigo. BinaryWriter y BinaryReader
.NET (C#, VB.NET, ASP)
70N1 2 3,604 Último mensaje 18 Octubre 2011, 13:53 pm
por 70N1
¡¡¡SI ALGUIEN LE PUEDE ECHAR UN VISTAZO A ESTE CODIGO!!!
Programación General
savag 2 2,699 Último mensaje 10 Octubre 2011, 00:13 am
por skapunky
Se puede optimizar este codigo ?
PHP
nobo 6 3,797 Último mensaje 5 Marzo 2012, 22:41 pm
por nobo
A ver si alguien puede arreglar este código.
.NET (C#, VB.NET, ASP)
iDDoS 2 2,101 Último mensaje 12 Mayo 2015, 02:29 am
por Eleкtro
¿Alguien puede ayudarme a entender este codigo de strstr?
Programación C/C++
mester 6 3,696 Último mensaje 22 Diciembre 2015, 16:25 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines