presionar tecla

01/02/2010 - 14:33 por Paul P. Garcia | Informe spam
Saludos.
Existe alguna forma para hacer una simulación de la presion de una tecla o
combinación de teclas?
Necesito simular que se a presionado y soltado una tecla o varias teclas
como CTRL+F por ejemplo...

Preguntas similare

Leer las respuestas

#6 Paul P. Garcia
08/02/2010 - 13:39 | Informe spam
Hola.
Estuve intentando lo que me sugeriste, pero parece que no entendi muy
bien...
Primero busque el archivo "winuser.h" el cual encontro como 4. Dos estaban
dentro de la carpeta pocket...
Lo segundo modifique el archivo agregando 176 = VK_MEDIA_NEXT_TRACK

Existe alguna forma de hacerlo sin estar modificando un archivo?
Es decir mi aplicación debe correr en otras maquinas, ya sean en winxp,
win2k, win vista...

"Hernán" escribió en el mensaje
news:
Paul P. Garcia escribía:

hola.
Me refiero a los teclados multimedia... por ejemplo el de FF en codigo
(e.KeyCode) es el 176 si la memoria no me falla... cada tecla tiene un
codigo.



176 = VK_MEDIA_NEXT_TRACK

el <winuser.h> del sdk define las siguientes macros para el teclado
virtual

#if(_WIN32_WINNT >= 0x0500)
#define VK_BROWSER_BACK 0xA6
#define VK_BROWSER_FORWARD 0xA7
#define VK_BROWSER_REFRESH 0xA8
#define VK_BROWSER_STOP 0xA9
#define VK_BROWSER_SEARCH 0xAA
#define VK_BROWSER_FAVORITES 0xAB
#define VK_BROWSER_HOME 0xAC

#define VK_VOLUME_MUTE 0xAD
#define VK_VOLUME_DOWN 0xAE
#define VK_VOLUME_UP 0xAF
#define VK_MEDIA_NEXT_TRACK 0xB0
#define VK_MEDIA_PREV_TRACK 0xB1
#define VK_MEDIA_STOP 0xB2
#define VK_MEDIA_PLAY_PAUSE 0xB3
#define VK_LAUNCH_MAIL 0xB4
#define VK_LAUNCH_MEDIA_SELECT 0xB5
#define VK_LAUNCH_APP1 0xB6
#define VK_LAUNCH_APP2 0xB7

#endif /* _WIN32_WINNT >= 0x0500 */


Fijate en su condicionamiento para win2k+.

Todo bien.
Respuesta Responder a este mensaje
#7 Alberto Poblacion
08/02/2010 - 14:36 | Informe spam
"Paul P. Garcia" wrote in message
news:
[...]
Lo segundo modifique el archivo agregando 176 = VK_MEDIA_NEXT_TRACK

Existe alguna forma de hacerlo sin estar modificando un archivo?



No, no hay que modificar ningún archivo. No has comprendido lo que te
explicaba Hernan. Lo que él te decía es cómo averiguar el código de cada
tecla. Por ejemplo, ¿cómo se sabe que la tecla VK_MEDIA_NEXT_TRACK tiene el
código 176, y no otro código diferente? La respuesta es que puedes consultar
el winuser.h y dentro están escritos los códigos de tecla, pero esto sólo es
informativo, NO hay que modificar nunca ese archivo.

Por supuesto, eso no responde a tu pregunta original, que es la de cómo
enviar ese código con el SendKeys. Si no encuentras respuesta acerca de cómo
modificar la cadena del .Send para que incluya los códigos, siempre puedes
recurrir a P/Invoke para llamar a la API SendInput, que sí que te permite
meter cualquier código en binario. Es mucho más complejo meterse con
P/Invoke que trabajar directamente con las librerías de código gestionado,
pero si no hay más remedio, esta puede ser la solución.
http://www.pinvoke.net/default.aspx...Input.html

En lugar de SendInput, también puedes usar la API kybd_event, que aunque se
considera deprecada en favor de SendInput es bastante más sencilla de usar.
http://www.pinvoke.net/default.aspx...eybd_event
Respuesta Responder a este mensaje
#8 Paul P. Garcia
09/02/2010 - 21:40 | Informe spam
Gracias.
Lo estoy haciendo con "keybd_event" al otro no le entiendo muy bien es mas
no me funciona.
keybd_event parece ser mas sencillo...

Ire probando mas y te cuento.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida