pulsacion tecla automatica

09/02/2005 - 22:19 por Tolo | Informe spam
Hola,

tengo un programa que necesita cada cierto tiempo realizar una función, el
propio programa no tiene ningún tipo de programador ni nada, o sea q
solamente está el q alguien le de a la tecla (F3) cada cierto tiempo.

Como puedo gratuitamente emular este trabajo manual.

¿Alguien sabe donde venden el pájaro carpintero de Hommer? ;)

gracias

Preguntas similare

Leer las respuestas

#1 Ramón Sola [MVP Windows - Shell/User]
13/02/2005 - 09:02 | Informe spam
Hash: SHA1

A lo mejor te sirve este VBScript (extensión .vbs) que he creado en un
periquete:

Set WshShell = WScript.CreateObject("WScript.Shell")
While WshShell.AppActivate("Título de la ventana")
WScript.Sleep 100
WshShell.SendKeys "{F3}"
WScript.Sleep 5000
Wend

Sustituye "Título de la ventana" por el título de la ventana a la que
quieres enviar las pulsaciones (respetando las comillas, por supuesto).
Modifica también el 5000 de la segunda llamada a Sleep por el tiempo de
espera en milisegundos que consideres adecuado. De tal forma, el intervalo
en milisegundos entre cada pulsación simulada de F3 será la suma de los
parámetros de los dos Sleep.


Algunas observaciones:

- El script terminará cuando el método AppActivate devuelva False (véase
más adelante por qué). Por tanto transcurrirá un tiempo entre la
terminación del programa "vigilado" y la finalización del script.

- Si el programa identificado con el "Título de la ventana" no se está
ejecutando en el momento de arrancar el script, éste no va a hacer nada
porque no va a entrar en el cuerpo del bucle. Con unas pocas
modificaciones, el script podría ser capaz de lanzar el programa si fuera
necesario.

- Si no se espera un tiempo desde que se manda la orden de activar la
ventana hasta que se envía la primera pulsación, puede ocurrir que la
pulsación se envíe a una ventana no deseada (esto es, no ha habido tiempo
suficiente para activar la ventana que queríamos). Una décima de segundo
suele ser lo más equilibrado. También se suele especificar un pequeño
retardo entre varias pulsaciones consecutivas para que se reciban en el
orden correcto.

- Cuidado al especificar el título de la ventana. La documentación del
método AppActivate especifica lo siguiente:

<pego>
El método AppActivate devuelve un valor de tipo booleano que indica si la
llamada al procedimiento se realizó correctamente. Este método cambia el
foco a la aplicación o ventana nombrada, pero no afecta al hecho de que
esté maximizada o minimizada. El foco se mueve desde la ventana de
aplicación activa cuando el usuario realiza alguna acción para cambiar el
foco (o cierra la ventana).

Cuando se determina qué aplicación se va a activar, se compara el valor
especificado en título con la cadena de título de cada aplicación que está
ejecutándose. Si no coincide exactamente, se activa cualquier aplicación
cuya cadena de título empiece por título. Si no se encuentra una
aplicación, se activa cualquier aplicación cuya cadena de título termine en
título. Si hay más de una instancia de la aplicación con el nombre del
título, se activa una de ellas arbitrariamente.
</pego>


Si quieres comprender mejor cómo funciona, échale una ojeada a la
documentación de Windows Script:
http://download.microsoft.com/downl...cd56es.exe

Viene de:
http://www.microsoft.com/downloads/...x?FamilyIDç4494d3-c4e1-4e18-9c6c-0ea28c9a5d9d&displaylang=es

Ramón Sola / / MVP Windows - Shell/User
Para obtener la dirección correcta no hacen falta los sellos.
Por favor, usar el correo sólo para cuestiones ajenas a los
grupos de noticias, gracias.

" Tolo" escribió en el mensaje
news:
Hola,

tengo un programa que necesita cada cierto tiempo realizar una función,
el propio programa no tiene ningún tipo de programador ni nada, o sea q
solamente está el q alguien le de a la tecla (F3) cada cierto tiempo.

Como puedo gratuitamente emular este trabajo manual.

¿Alguien sabe donde venden el pájaro carpintero de Hommer? ;)

gracias

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida