Ver Mensaje Individual
  #9 (permalink)  
Antiguo 08/07/2013, 06:57
Avatar de XYON126
XYON126
 
Fecha de Ingreso: abril-2006
Mensajes: 272
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: codigo para ejecutar comandos del teclado.

Hola compañero!

Este es el codigo que he realizado segun tus indicaciones,

Código:
Option Explicit

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const KEYEVENTF_KEYUP = &H2
Const KEYEVENTF_EXTENDEDKEY = &H1
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)


Private Sub CMB_Ejecutar_Click()
'ctrl+1
Call keybd_event(17, 0, 0, 0)
Call keybd_event(97, 0, 0, 0)
Call keybd_event(17, 0, KEYEVENTF_KEYUP, 0)
Call keybd_event(97, 0, KEYEVENTF_KEYUP, 0)

'ctrl+2
Call keybd_event(17, 0, 0, 0)
Call keybd_event(98, 0, 0, 0)
Call keybd_event(17, 0, KEYEVENTF_KEYUP, 0)
Call keybd_event(98, 0, KEYEVENTF_KEYUP, 0)

'ctrl+3
Call keybd_event(17, 0, 0, 0)
Call keybd_event(99, 0, 0, 0)
Call keybd_event(17, 0, KEYEVENTF_KEYUP, 0)
Call keybd_event(99, 0, KEYEVENTF_KEYUP, 0)

'espera
'Call Sleep(1000) '1 segundo

'ctrl+4
Call keybd_event(17, 0, 0, 0)
Call keybd_event(100, 0, 0, 0)
Call keybd_event(17, 0, KEYEVENTF_KEYUP, 0)
Call keybd_event(100, 0, KEYEVENTF_KEYUP, 0)

'ctrl+5
Call keybd_event(17, 0, 0, 0)
Call keybd_event(101, 0, 0, 0)
Call keybd_event(17, 0, KEYEVENTF_KEYUP, 0)
Call keybd_event(101, 0, KEYEVENTF_KEYUP, 0)

'ctrl+6
Call keybd_event(17, 0, 0, 0)
Call keybd_event(102, 0, 0, 0)
Call keybd_event(17, 0, KEYEVENTF_KEYUP, 0)
Call keybd_event(102, 0, KEYEVENTF_KEYUP, 0)

'espacio
Call keybd_event(32, 0, 0, 0)
Call keybd_event(32, 0, KEYEVENTF_KEYUP, 0)

MsgBox ("Ejecutado")

End Sub
Lo que he realizado es un Formulario con un botos llamado "Ejecutar", cuando lo ejecuto me sale perfectamente la ventana con el boton pero al hacer click en este, no me ejecuta nada en el Firefox y tampoco me sale el MSgbox, ¿Porque?

Por otro lado me surjen unas preguntas, primero me distes este codigo que ejecuta lo que es "CTROL+1" si he entendido bien:


Call sumirboton(17 + 49)


Y despues este que comentas que es el bueno :

Call keybd_event(17, 0, 0, 0)
Call keybd_event(97, 0, 0, 0)
Call keybd_event(17, 0, KEYEVENTF_KEYUP, 0)
Call keybd_event(97, 0, KEYEVENTF_KEYUP, 0)

Pero ¿Porque cuatro lineas de codigo, que hace cada una?

Perdona y muchas gracias.


Un saludo

Última edición por XYON126; 08/07/2013 a las 07:11