Repetir SendKey cada 1 segundo

Pues necesito ayuda, uso visual basic 6 y me planteo lo siguiente:
Necesito enviar un SendKey cada 1 segundo de forma automática al pulsar un botón. En el form tengo un botón ''Iniciar'', otro botón ''Detener'' y dos timers. El código es el siguiente:
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const SW_NORMAL = 1
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
Timer2.Enabled = False
End Sub
Private Sub Timer1_Timer()
Timer2.Enabled = True
Timer1.Enabled = False
End Sub
Private Sub Timer2_Timer()
SendKeys ("{Z}")
End Sub
Pero me da aun error en ésta línea:
Private Sub Timer2_Timer()
SendKeys ("{Z}")
End Sub
Me gustaría saber si hay algún error en el código
Saludos

1 respuesta

Respuesta
1
El error es porque tiene definido dos veces el el nombre del evento  Private Sub Timer2_Timer()
Para lo que quiere hacer solo necesita un timer y debe colocar la propiedad Interval=1000 (milisegundos) o sea 1 segundo.
Pruébalo de esta forma :
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const SW_NORMAL = 1
Private Sub Command1_Click()
      Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
      Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
      SendKeys ("{Z}")
      MsgBox "Estoy funcionando" 'esto es para ver la ejecucion
End Sub 
Suerte !

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas