Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: EpicMetal en 24 Febrero 2006, 11:08 am



Título: me olvide como se hacia >_<
Publicado por: EpicMetal en 24 Febrero 2006, 11:08 am
Hola, no me puedo acordar como era para que se active algo al apretar una tecla en particular (o una combinacion de ellas) si alguien me ayuda estaria agradecido.

ah! y tmb como hacer para que el mouse se mueva a las coordenadas que yo le diga (no del from, si no de la pantalla en general).

y ya que estamos... como hacer para que lea la posicion actual (coordenadas) del mouse


Título: Re: me olvide como se hacia >_<
Publicado por: BenRu en 24 Febrero 2006, 13:23 pm
No creo que sea que no te acuerdes, sino que no tienes ni idea de visual basic xD

Lo primero puedes hacerlo con "call"
Código:
Private command1_Click()
Call Command2_Click
end sub

Asi al apretar el boton uno, se activara el boton 2.

Lo otro no se muy bien, y puede que te suelte alguna tonteria  :P


Título: Re: me olvide como se hacia >_<
Publicado por: Kizar en 24 Febrero 2006, 15:49 pm
Coger la posicion de el cursor:

Código:
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Dim Pt As POINTAPI
GetCursorPos Pt

Poner el cuersor en una posicion:

Código:
Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long

SetCursorPos 200, 200

Salu2


Título: Re: me olvide como se hacia >_<
Publicado por: NYlOn en 24 Febrero 2006, 20:55 pm
Citar
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Dim Pt As POINTAPI
GetCursorPos Pt

Luego, para usar las variables de las posiciones X e Y tenes que poner:
Código:
MsgBox Pt.X & " - " Pt.Y

Saludos.-


Título: Re: me olvide como se hacia >_<
Publicado por: EpicMetal en 25 Febrero 2006, 01:37 am
No creo que sea que no te acuerdes, sino que no tienes ni idea de visual basic xD

Lo primero puedes hacerlo con "call"
Código:
Private command1_Click()
Call Command2_Click
end sub

uh.... no, se como hacer una llamada... lo que quiero es que al apretar por ejemplo la tecla a se activa la funcion... creo que era
Código:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

tengo que hacer que una tecla fuera del form de presione... habia pensado en un timer que mida todo el tiempo si la tecla esta apretada o no, pero no me acuerdo como hacerlo

Coger la posicion de el cursor:

Código:
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Dim Pt As POINTAPI
GetCursorPos Pt




para mover a las coordenadas ya esta andando, pero no se a que coordenadas lo quiero mover >_<

no me anda el que lee coordenadas :S me tira error en esta parte:
Código:
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

me dice, "user-defined type not defined"


Título: Re: me olvide como se hacia >_<
Publicado por: Kizar en 25 Febrero 2006, 02:01 am
Cambia la linea k te da error por esto:

Código:
Private Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Salu2


Título: Re: me olvide como se hacia >_<
Publicado por: NYlOn en 25 Febrero 2006, 06:34 am
El error te lo da porque te falta declarar el POINTAPI.
El codigo completo seria asi:
Código:
Private Type POINTAPI
        x As Long
        y As Long
End Type
Private Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long

Y despues para poner las coordenadas en un label, por ejemplo, en un timer con intervalo en 10 pones:
Código:
Dim Pos As POINTAPI
GetCursorPos Pos

Label1 = Pos.X & " - " & Pos.Y

Bueno espero que no haya errores.


Ah y eso de las teclas lo podes lograr usando la API GetKeyState
Para obtener la pulsacion de la tecla F5 por ejemplo, seria asi:
Código:
Private Declare Function GetKeyState Lib "user32" Alias "GetKeyState" (ByVal nVirtKey As Long) As Integer
Private Const VK_F5 = &H74

Private Sub Timer1_Timer ()
If GetKeyState(VK_F5) < 0 Then
MsgBox "Se apreto la tecla F5"
eNd if
end sub

Hay muchas formas... espero que te sirva


Saludos.-