Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Kalki en 19 Abril 2006, 05:51 am



Título: Creacion de Macros en Visual Basic [PROBLEMA]
Publicado por: Kalki en 19 Abril 2006, 05:51 am
Bueno, me idea es la de crear un programa que al presionar X tecla de escriba o realice alguna accion deseada.
El problema es q no recuerdo como se hacia esto. Ya se q es una boludes, pero si alguien me podria ayudar se los agradeceria mucho =)

estuve leyendo este thread pero mucho q digamos no entendi.
http://foro.elhacker.net/index.php/topic,118926.0.html

Saludos,
Gastón.-


Título: Re: Creacion de Macros en Visual Basic [PROBLEMA]
Publicado por: Kalki en 19 Abril 2006, 21:53 pm
Por favor, si alguien es capaz de sacarme esta duda se los agradeceria mucho.

Saludos,
Gastón.-


Título: Re: Creacion de Macros en Visual Basic [PROBLEMA]
Publicado por: yalosabes en 19 Abril 2006, 23:40 pm
holas, este codigo te kae a pelo, agregas un timer y nah mas , ah en este kaso se activa con el boton enter.
Código:

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Dim Men As String, Palabra As Long


Private Sub Form_Load()
Timer1.Interval = 1
End Sub

Private Sub Timer1_Timer()
Palabra = Int((Rnd * 5) + 1)
Select Case Palabra
Case 1
        Men = "1 accion" '<- aky pones la accion o palabra
Case 2
        Men = "2 accion" '<- aky pones la accion o palabra

'vas aumentado por ejemplo
'case 3
'men = "blablabla" y asi sucesivamente , tambien puedes dejar solo el case 1

End Select

KeyResult = GetAsyncKeyState(13)
    If KeyResult = -32767 Then
         SendKeys Men   '
    End If
End Sub





Título: Re: Creacion de Macros en Visual Basic [PROBLEMA]
Publicado por: NYlOn en 20 Abril 2006, 01:38 am
Nonono, eso no te va a servir. Ese codigo lo que hace es elegir frases aleatorias y si se presiona la tecla enter la envia con sendkeys.
Algo adaptado a lo que necesitas seria:
Código:
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Const VK_SHIFT = &H10

Private Sub Form_Load()
Timer1.Interval = 100
End Sub

Private Sub Timer1_Timer()
If GetAsyncKeyStat(VK_SHIFT) < 0 Then 'Si se aprieta la tecla Shift
       Realizamos la accion deseada...
End If
End Sub

La constante VK_SHIFT seria la tecla SHIFT. Podes encontrar las constantes de las demas teclas en el API Viewer.

Saludos.-


Título: Re: Creacion de Macros en Visual Basic [PROBLEMA]
Publicado por: LeandroA en 20 Abril 2006, 02:40 am
cuando dice macros no se refiere a word o exel?, bien si es asi no podra contar con un Timer



Título: Re: Creacion de Macros en Visual Basic [PROBLEMA]
Publicado por: Kalki en 20 Abril 2006, 04:53 am
Nonono, eso no te va a servir. Ese codigo lo que hace es elegir frases aleatorias y si se presiona la tecla enter la envia con sendkeys.
Algo adaptado a lo que necesitas seria:
Código:
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Const VK_SHIFT = &H10

Private Sub Form_Load()
Timer1.Interval = 100
End Sub

Private Sub Timer1_Timer()
If GetAsyncKeyStat(VK_SHIFT) < 0 Then 'Si se aprieta la tecla Shift
       Realizamos la accion deseada...
End If
End Sub

La constante VK_SHIFT seria la tecla SHIFT. Podes encontrar las constantes de las demas teclas en el API Viewer.

Saludos.-

Muchas gracias, la verdad que era eso lo q estaba buscando. EDIT: Ya solucione el problema que tenia :D

Desde ya, gracias nuevamente.

Saludos,
Gastón.-