Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/02/2011, 14:36
m0rbid
 
Fecha de Ingreso: septiembre-2010
Mensajes: 21
Antigüedad: 14 años, 2 meses
Puntos: 0
SendMessage y SendKeys

Buenas, les cuento que estoy comenzando Python, luego de haber programado demasiado VB 6.0. El tema es que estoy usando sendmessage y averiguando el hWnd de una ventana de bloc de notas, y cuando abro el programa que he hecho, se me cierra sin tiempo a que pueda llegar a leer lo que dice, les muestro:

Código:
 #### Script to try to write something down in notepad
> import win32api
> import win32gui
> import win32con
> import time
> 
> # get the window handle of the blank, minimized notepad window
> hwnd = win32gui.FindWindowEx(0, 0, 0, "Probando - Bloc de notas")
> 
> # print it just for kicks
> print hwnd
> 
> win32gui.ShowWindow(hwnd, win32con.SW_SHOWNORMAL)
> #this restores the proper window, so we know we have correct handle
> 
> #just to give it a little pause
> time.sleep(2)
> 
> print "trying to post message"
> 
> #try to send it a return key
> win32api.SendMessage(hwnd, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
> win32api.SendMessage(hwnd, win32con.WM_KEYUP, win32con.VK_RETURN, 0)
>
Como ven, obtengo el hWnd de la ventana y envío pulsaciones de tecla ENTER (return), pero tengo el problema que explico antes, se me cierra rápidamente el programa, que su extencion es .py.

Más allá de la ventana que sea, porque con un programa que he hecho con VB, al pasar el mouse por X posición detecta el hWnd de la ventana donde se encuentra el mouse, yo averiguo el hwnd del bloc de notas, pero sigue sin funcionar.

Además de esto (perdón que pida tanto), necesito saber como usar SendKeys en Python, he buscado en Google pero ninguno me funciona bien y se me cierra el programa también! Por ejemplo, yo en VB uso: SendKeys"{enter}", en realidad suelo usar un API de windows, pero no es el tema ese, quiero saber como usarlo en Python.

Bueno señores, muchas gracias desde ya, me ha servido mucho este foro a la hora de buscar respuestas y preguntar :D

Saludos.