2011-09-29 5 views
0

저는 파이썬으로 키보드 이벤트를 다른 외부 응용 프로그램으로 보내는 응용 프로그램을 개발 중입니다.키 이벤트를 하위 창으로 보내기

import win32com.client as w32 
shell = w32.Dispatch("WScript.Shell") 

shell.AppActivate(desired_application) 
shell.SendKeys("{ENTER}") 

내가 사용하고 외부 응용 프로그램이 가상 키보드와 키보드의 이벤트를 수신 텍스트 영역을 가지고 : 나는 외부 응용 프로그램을 설정하고 원하는 키를 보낼 pywin32 패키지를 사용합니다. 키보드가 문자를 스캔하여 Enter 키로 원하는 문자를 선택하기 때문에 키보드 영역에 키 이벤트 (이 경우 'ENTER')를 보내려고합니다. 그러나, 내 응용 프로그램은 키 이벤트를 키보드 대신 텍스트 영역으로 보냅니다.

필자는 FindWindow와 EnumChildWindow에서 win32gui로 원하는 창 핸들을 얻으려고했다. 그래서 외부 응용 프로그램의 특정 하위 창에 키를 보내는 방법이 있습니까?

답변

0

나는 (응용 프로그램의 모든 핸들을 열거하기 위해) EnumChildWindow로 특정 핸들을 선택하고 PostMessage로 메시지를 전송합니다.

import win32api 
    win32api.PostMessage(handler, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0) 
관련 문제