Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

codigo para ejecutar comandos del teclado.

Estas en el tema de codigo para ejecutar comandos del teclado. en el foro de Visual Basic clásico en Foros del Web. Hola compañeros! Hace tiempo que no programo en VB6.0 y me ha surgido un proplemilla, necesito hacer un programa que ejecute unas secuencias de teclado ...
  #1 (permalink)  
Antiguo 30/06/2013, 04:51
Avatar de XYON126  
Fecha de Ingreso: abril-2006
Mensajes: 272
Antigüedad: 18 años, 8 meses
Puntos: 0
codigo para ejecutar comandos del teclado.

Hola compañeros!


Hace tiempo que no programo en VB6.0 y me ha surgido un proplemilla, necesito hacer un programa que ejecute unas secuencias de teclado seguidas, unas con un intervalo de tiempo definido y otras directamente una detras de otra y no se ni como plantealo, he estado buscando pero no he encontrado nada, ¿Podeis ayudarme?

Lo que necesito que se ejecute al hacer doble click al programilla es esto simplemente:

CTROL+1
CTROL+2
CTROL+3
ESPERAR UN SEGUNDO
CTROL+4
CTROL+5
CTROL+6
BARRA ESPACIADORA

estas secuencias de teclado lo que hacen es una orden en una web y cada una hace una diferente, el problema es que es un rollazo tener que hacer cada 5 minutos, las 7 secuencias seguidas de ahi de crear una macro que se ejecute al instante y realice esas 7 secuencias seguidas.

Muchas gracias por adelantado.

Un saludote
  #2 (permalink)  
Antiguo 02/07/2013, 16:07
 
Fecha de Ingreso: mayo-2012
Ubicación: un departamento
Mensajes: 15
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: codigo para ejecutar comandos del teclado.

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
Sub sumirboton(boton As Long)
Call keybd_event(boton, 0, 0, 0)
Call keybd_event(boton, 0, KEYEVENTF_KEYUP, 0)
End Sub

Private Sub Command1_Click()
Call sumirboton(17 + 49)
End Sub

'17=control 49=1 50=2 51=3 52=4 53=5 54=6 32=espacio


'tiempo___________________________________________ _______________________
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)


Private Sub Command2_Click()
Call Sleep(1000) '1 segundo
End Sub


Adaptalo a tus necesidades saludos

Última edición por dsio392i3nkmw9d; 02/07/2013 a las 16:18
  #3 (permalink)  
Antiguo 03/07/2013, 07:19
Avatar de 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 dsio392i3nkmw9d!

Muchas gracias por el codigo pero seria de gran ayuda si puedes poner un poco de explicación en cada linea o grupo de lineas lo que hacen, ya que prefiero aprender que preguntar cada vez que necesito algo y al mismo tiempo siempre podre ayudar a otro con mis limitados conocimientos. Por ejemplo indicas que este codigo hace lo de mis necesidades pero ¿Cual o cuales son las lineas que ejecutan mis comandos de tecla? ¿Que linea hace CTROL+1, o CTROL+5, etc.

Un saludo
  #4 (permalink)  
Antiguo 03/07/2013, 14:02
 
Fecha de Ingreso: mayo-2012
Ubicación: un departamento
Mensajes: 15
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: codigo para ejecutar comandos del teclado.

Jejeje asi se aprende bien si te fijas te deje el codigo funciona con 2 botones para llamara al respectivo sub este es el que hace el ctrl+1
Private Sub Command1_Click()
Call sumirboton(17 + 49)
End Sub

este es para llamar al tiempo

Private Sub Command2_Click()
Call Sleep(1000) '1 segundo
End Sub

De aceurdo a tus especificasiones queda asi
CTROL+1
CTROL+2
CTROL+3
ESPERAR UN SEGUNDO
CTROL+4
CTROL+5
CTROL+6
BARRA ESPACIADORA


__________________________________________________ ________________________
De nuevo lo coloque dentro de un boton,pero ya tu lo puedes pones donde quieras es muy facil de entender,de igual forma puedes preguntar de nuevo,por eso te dije que lo adaptaras no estaba completo con todas las teclas solo te puse una ctrl+1(17 + 97)

Última edición por dsio392i3nkmw9d; 03/07/2013 a las 16:02
  #5 (permalink)  
Antiguo 03/07/2013, 16:03
 
Fecha de Ingreso: mayo-2012
Ubicación: un departamento
Mensajes: 15
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: codigo para ejecutar comandos del teclado.

Haca rato te puse el codigo tenia unos errores trate de modificarlo o borarlo pero no pude XD ,ahora este si es el bueno saludos




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 Command1_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)

End Sub
  #6 (permalink)  
Antiguo 05/07/2013, 00:28
Avatar de 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 dsio392i3nkmw9d!

Muchas gracias estas hecho un crack, solo un par de preguntitas:

1ª Tienes o conoces una direccion donde pueda encontrar en número de codigo de cada tecla (ctrol, ESC, etc.)

2º Si despues de cada liea inclullo un Msgbox podre verificar si funciona o no fuera de su uso?

Pues como comentaba es para una aplicación que se abre con el Mozilla.

Un saludo
  #7 (permalink)  
Antiguo 05/07/2013, 14:47
 
Fecha de Ingreso: mayo-2012
Ubicación: un departamento
Mensajes: 15
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: codigo para ejecutar comandos del teclado.

Si puedes meter los mensajes ejemplo
'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)

msgbox ctrl y uno
'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)

msgbox ctrl y dos

'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)

msgbox ctrl y tres

'espera
Call Sleep(1000) '1 segundo

msgbox espera 1 segundo
__________________________________________________ _________________
1 Botón primario del mouse
2 Botón secundario del mouse
4 Botón central del mouse
8 Tecla RETROCESO
9 Tecla TAB
12 Tecla SUPR
13 Tecla INTRO
16 Tecla MAYÚS
17 Tecla CTRL
18 Tecla Alt
19 Tecla PAUSA
20 Tecla BLOQ MAYÚS
27 Tecla ESC
32 Tecla BARRA ESPACIADORA
33 Tecla RE PÁG
34 Tecla AV PÁG
35 Tecla FIN
36 Tecla INICIO
37 Tecla FLECHA IZQUIERDA
38 Tecla FLECHA ARRIBA
39 Tecla FLECHA DERECHA
40 Tecla FLECHA ABAJO
41 Tecla SELECT
42 Tecla IMPRIMIR PANTALLA
45 Tecla INS
46 Tecla SUPR
48 Tecla 0
49 Tecla 1
50 Tecla 2
51 Tecla 3
52 Tecla 4
53 Tecla 5
54 Tecla 6
55 Tecla 7
56 Tecla 8
57 Tecla 9
65 Tecla A
66 Tecla B
67 Tecla C
68 Tecla D
69 Tecla E
70 Tecla F
71 Tecla G
72 Tecla H
73 Tecla I
74 Tecla J
75 Tecla K
76 Tecla L
77 Tecla M
78 Tecla N
79 Tecla O
80 Tecla P
81 Tecla Q
82 Tecla R
83 Tecla S
84 Tecla T
85 Tecla U
86 Tecla V
87 Tecla W
88 Tecla X
89 Tecla Y
90 Tecla Z
96 Tecla 0 derecho
97 Tecla 1
98 Tecla 2
99 Tecla 3
100 Tecla 4
101 Tecla 5
102 Tecla 6
103 Tecla 7
104 Tecla 8
105 Tecla 9
106 Tecla SIGNO DE MULTIPLICACIÓN (*)
107 Tecla SIGNO MÁS (+)
108 Tecla INTRO (teclado numérico)
109 Tecla SIGNO MENOS (-)
110 Tecla PUNTO DECIMAL (.)
111 Tecla SIGNO DE DIVISIÓN (/)
112 Tecla F1
113 Tecla F2
114 Tecla F3
115 Tecla F4
116 Tecla F5
117 Tecla F6
118 Tecla F7
119 Tecla F8
120 Tecla F9
121 Tecla F10
122 Tecla F11
123 Tecla F12
124 Tecla F13
125 Tecla F14
126 Tecla F15
127 Tecla F16
144 Tecla BLOQ NUM

Última edición por dsio392i3nkmw9d; 05/07/2013 a las 15:20
  #8 (permalink)  
Antiguo 07/07/2013, 02:30
Avatar de 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 dsio392i3nkmw9d!


Muchisimas gracias, me has sido de gran ayuda voy a crear ahora la aplicación y ya te contaré de mis desastres o conquistas con la ayuda que me has dado.

Un saludote.
  #9 (permalink)  
Antiguo 08/07/2013, 06:57
Avatar de 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
  #10 (permalink)  
Antiguo 08/07/2013, 10:28
 
Fecha de Ingreso: mayo-2012
Ubicación: un departamento
Mensajes: 15
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: codigo para ejecutar comandos del teclado.

bien cuando haces esto fisicamente es en 2 partes una sumes y la otra lo suelta este codigo lo hacia atomaticamente
Call sumirboton(17 + 49),me di cuenta que no era para tus necesidades
Y este
'sume ctrl
Call keybd_event(17, 0, 0, 0)
'sume 1
Call keybd_event(97, 0, 0, 0)
'suelta ctrl
Call keybd_event(17, 0, KEYEVENTF_KEYUP, 0)
'suelta 1
Call keybd_event(97, 0, KEYEVENTF_KEYUP, 0)

Tu codigo es correcto solo que se ejecuta demasiado rapido otra cosa si lo usas con firefox la pantalla de firefox debe estar seleccionada ya que cuando ejecutas tu programa,el esta seleccionado lo que puedes hacer es agregarle un tiempo como el detonador de una bomba par que te de tiempo de pasarte a fire fox


__________________________________________________ _______________-
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()

Call Sleep(2000) '2 segundos para seleccionar firefox



'ctrl+1
Call keybd_event(17, 0, 0, 0)'sumir
Call keybd_event(97, 0, 0, 0)'sumir
Call keybd_event(17, 0, KEYEVENTF_KEYUP, 0)'soltar
Call keybd_event(97, 0, KEYEVENTF_KEYUP, 0)'soltar

'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




Última edición por dsio392i3nkmw9d; 08/07/2013 a las 11:24
  #11 (permalink)  
Antiguo 08/07/2013, 12:49
Avatar de 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 dsio392i3nkmw9d!
Muchas gracias por tu ayuda y enseñanza.
Supongo que no eres de habla hipana pues me confundes cuando dices "una sumes y la otra lo suelta" ya que lo de sumes ¿A que te refieres, a sumar, seleccionar? por otro lado como bien comentas y no se si lo comenté, realmente mi intención es con una aplicacion online que esta realizada en Flash, creo (ya que pides visualizar el codigo de la misma y te sale la ventanita de Flashplayer) tienes que realizar una entrada de datos y posteriormente y todo seguido la secuencia de comandos por teclado que comentaba "CTROL+1, CTROL+2,etc" y dependiendo de lo que realizas o sumas, borras, duplicas, viualizas datos, fotos o inviertes, etc. y siempre es lo mismo pero tenemos unas 30 versiones y mi idea es tener la macro ejecutandose a la espera con los 30 botones de las opciones existentes y clickar al que corresponda a cada momento, es decir, teniendo el Firefox y la aplicación activa teniendo la macro ya en ejecución visualizando los botones y a la espera de apretar uno u otro, el que corresponda como si de botones propios de la aplicación se tratase, por lo que no se cual opción puede ser la mas viable si la que dices que es mas rapida o la de varias lineas, ¿Que opinas?

Esto tambien lo quiero hacer para otros programas del PC que precisan de lo mismo una cadena de secuencias de comandos por teclado; supongo que servira tembien.

Dime que opinas y cual puede ser el codigo mas favorable.
AH! Naturalmente quiero convertirlo despues en un ejecutable (aqui no tengo problemas) es solo como información de la idea.

Un saludo y un millon de gracias.
  #12 (permalink)  
Antiguo 08/07/2013, 13:32
 
Fecha de Ingreso: mayo-2012
Ubicación: un departamento
Mensajes: 15
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: codigo para ejecutar comandos del teclado.

si,se dificulta el español con sumir me refiero apretar tecla
Call keybd_event(17, 0, 0, 0)',te recomiendo el codigo de cuatro lineas ya que es facil usar 2 o mas ala vez solo recuerda soltarla por que si la aprietas y no la sueltas
Call keybd_event(65, 0, 0, 0) seria igual a
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA...
sin final

Call keybd_event(65, 0, 0, 0) 'aprieta
Call keybd_event(65, 0, KEYEVENTF_KEYUP, 0)'soltar
  #13 (permalink)  
Antiguo 08/07/2013, 14:13
Avatar de XYON126  
Fecha de Ingreso: abril-2006
Mensajes: 272
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: codigo para ejecutar comandos del teclado.

Cita:
Iniciado por dsio392i3nkmw9d Ver Mensaje
si,se dificulta el español con sumir me refiero apretar tecla
Call keybd_event(17, 0, 0, 0)',te recomiendo el codigo de cuatro lineas ya que es facil usar 2 o mas ala vez solo recuerda soltarla por que si la aprietas y no la sueltas
Call keybd_event(65, 0, 0, 0) seria igual a
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA...
sin final

Call keybd_event(65, 0, 0, 0) 'aprieta
Call keybd_event(65, 0, KEYEVENTF_KEYUP, 0)'soltar

Muchas gracias. Es que soy un poco cazurro, aunque me gusta mucho la informatica soy autodidacta y al no tener 20 añejos cuesta un poco, con tu explicación ahora comprendo por completo lo de las cuatro o seis lineas (corrigeme si me equivoco) pero en el primer codigo no soltabamos y en el segundo lo aseguras y si en vez de ser una secuencia de dos teclas y es por ejemplo ALT + 0216 que seria lo mismo que Ø aqui el codigo si he entendido bien serian tantas como 12 lineas de codigo, Es asi!!!

Un saludote
  #14 (permalink)  
Antiguo 08/07/2013, 15:48
 
Fecha de Ingreso: mayo-2012
Ubicación: un departamento
Mensajes: 15
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: codigo para ejecutar comandos del teclado.

correcto en el primer codigo nada mas necesitabamos pasar el numero de la tecla y el otro proceso se encargaba de todo

claro para este ALT + 0216 serian 10 lineas hasta el final sueltas alt

aprieta alt
aprieta 0
suelta
aprieta 2
suelta
aprieta 1
suelta
aprieta6
suelta
suelta alt

es lo que harias fisicamente mantenemos el alt y uno por uno lo apretamos con los dedos ;D

Última edición por dsio392i3nkmw9d; 08/07/2013 a las 16:06
  #15 (permalink)  
Antiguo 09/07/2013, 06:18
Avatar de XYON126  
Fecha de Ingreso: abril-2006
Mensajes: 272
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: codigo para ejecutar comandos del teclado.

Ok!

Gracias maestro, tan pronto lo tenga ya te informaré de como me ha ido.


Un saludote
  #16 (permalink)  
Antiguo 15/07/2013, 05:59
Avatar de 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 dsio392i3nkmw9d!

La macro me esta funcionando bien pero me surge otra consulta, ¿Hay algun comando que simule o realice la misma acción que el doble click del raton encima del boton de la función que se este ejecutando en Mozilla o Explorer? supongo que habra que marcar una coordenada en la pantalla etc. sobre la coordenada creo haber leido algo pero aqui tengo tambien una duda, ¿ES la misma en un PC con dos monitores que en otro con uno solo?¿Como se puede detectar la coordenada, hay algun programilla para conocerla y usarla a posteriori?


Mil gracias por adelantado.
  #17 (permalink)  
Antiguo 17/07/2013, 08:44
 
Fecha de Ingreso: mayo-2012
Ubicación: un departamento
Mensajes: 15
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: codigo para ejecutar comandos del teclado.

puedes usar el mismo codigo para el raton
1 boton izquierdo
2 boton dercho

hacer doble click
Call keybd_event(1, 0, 0, 0) 'aprieta
Call keybd_event(1, 0, KEYEVENTF_KEYUP, 0)'soltar
Call keybd_event(1, 0, 0, 0) 'aprieta
Call keybd_event(1, 0, KEYEVENTF_KEYUP, 0)'soltar


en visual puedes hacer tu programa de cordenadas solo pega esto y agrega un timer
Option Explicit

Private Type rata
X As Long
Y As Long
End Type


Private Declare Function GetCursorPos Lib "user32" (lpPoint As rata) As Long

Dim Mouse As rata

Private Sub Form_Load()
Timer1.Interval = 100
Me.FontSize = 30
End Sub

Private Sub Timer1_Timer()
Call GetCursorPos(Mouse)
Me.Cls
Me.Print "Codenadas"
Me.Print "X:" + Str$(Mouse.X) + vbCrLf + "Y:" + Str$(Mouse.Y)
End Sub

no se si eso querias,de igual manera avisa perdon por tardar tanto

Última edición por dsio392i3nkmw9d; 17/07/2013 a las 09:11

Etiquetas: comandos, macro, tiempo, vb6
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:26.