elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Pulsación de teclas con python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pulsación de teclas con python  (Leído 6,538 veces)
minced

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Pulsación de teclas con python
« en: 17 Mayo 2015, 19:57 pm »

Estoy buscando como hacer esto y no encuentra nada, o tal vez no estoy buscando bien.

Estoy intentando hacer que por ejemplo al pulsar F1, o la tecla que yo defina, escriba un texto, pero no en la terminal si no que lo saque como si fuera escrito por el teclado, por ejemplo, si tengo el archivo.py minizado y pulso F1, me escriba "hola" en el campo de texto de otra aplicación como una pagina web por ejemplo.

Gracias por vuestro tiempo, seguiré buscando.


En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Pulsación de teclas con python
« Respuesta #1 en: 18 Mayo 2015, 01:18 am »

bueno en principio es fácil, lo que debes hacer es obtener el nombre de la aplicacion a la que quieres enviar un mensaje, despues obtener el handle del objeto contenedor al cual le enviaras el mensaje y por último enviar dicho mensaje, para ello debes usar algunas de las apis de windows como Findwindow, SendMessage por lo que tienes que investigar como usar apis en python, después implementar dichas apis. Cuando tengas código y tengas dudas plantealas con dicho código, hay muchos expertos que te ayudarán facilmente, pero dudo que alguien te haga la tarea.


En línea

Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: Pulsación de teclas con python
« Respuesta #2 en: 18 Mayo 2015, 01:21 am »

Esto te puede ser util.

https://pypi.python.org/pypi/SendKeys/0.3
En línea

minced

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Pulsación de teclas con python
« Respuesta #3 en: 18 Mayo 2015, 08:28 am »

Gracias, esto ayuda bastante.

bueno en principio es fácil, lo que debes hacer es obtener el nombre de la aplicacion a la que quieres enviar un mensaje, despues obtener el handle del objeto contenedor al cual le enviaras el mensaje y por último enviar dicho mensaje, para ello debes usar algunas de las apis de windows como Findwindow, SendMessage por lo que tienes que investigar como usar apis en python, después implementar dichas apis. Cuando tengas código y tengas dudas plantealas con dicho código, hay muchos expertos que te ayudarán facilmente, pero dudo que alguien te haga la tarea.
En ningún momento pretendí que me lo dieran hecho, el problema es que no sabia como enfocar la "ayuda" para buscarlo bien por google.
Cuando llegue por la tarde analizare el ejemplo del compañero anterior que tiene muy buena pinta.

Saludos y gracias  ;)
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Pulsación de teclas con python
« Respuesta #4 en: 18 Mayo 2015, 09:25 am »

Cómo ya te han comentado, primero debes analizar la aplicación para localizar el control de edición (Edit Control) al que pretendes enviarle el mensaje que contiene las pulsaciones del teclado (Key Strokes).

Para ayudarte en el análisis de la aplicación (para obtener los nombres de las classes, el handle de las ventanas, y el handle de los controles) puedes utilizar infinidad de herramientas, entre ellas está WinSpy++, y las varias herramientas de Microsoft UI Automation que vienen incluidas en la SDK de Windows, en especial la aplicación Microsoft UI Inspect.

WinSpy++
Microsoft Inspect
Windows Software Development Kit (SDK) for Windows 8.1

Cuando ya tengas los datos necesarios para interactuar con dicha aplicación, lo aplicas en tu código mediante la API de Windows (a falta de poder utilizar alguna implementación de Microsoft UI Automation bajo Python, cosa que desconozco, pero al menos en .Net es sencillo y te ahorra todo el P/Invoking);
dependiendo de la ubicación del control puedes necesitar utilizar unas funciones u otras, pero tienes toda la documentación necesaria en la MSDN (y ejemplos de uso en Google):

EnumWindows function
EnumChildWindows function
FindWindowEx function
GetClassName function
GetDlgItem function
SendMessage function

Saludos.
« Última modificación: 18 Mayo 2015, 09:32 am por Eleкtro » En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Combinacion de teclas en Python!!!
Scripting
_maki_ 5 6,730 Último mensaje 17 Noviembre 2006, 21:17 pm
por SirLanceCC
Como Simular la Pulsacion de las teclas « 1 2 »
Programación Visual Basic
HALC12 11 6,546 Último mensaje 2 Diciembre 2007, 17:39 pm
por HALC12
Aplicación que detecte una pulsación de teclas en cualquier momento
.NET (C#, VB.NET, ASP)
lord_Sirikon 4 3,934 Último mensaje 13 Enero 2011, 17:18 pm
por raul338
[RESUELTO]como simular pulsacion de teclas
Programación Visual Basic
AlxSpy 4 7,478 Último mensaje 7 Marzo 2011, 00:28 am
por AlxSpy
Hay forma de comprobar la pulsación de teclas en un determinado momento?
Java
PabloPbl 3 2,440 Último mensaje 21 Julio 2016, 00:19 am
por PabloPbl
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines