2
당신은 파이썬 win32gui 찾는 자식 창 예를 들어
hwnd = win32gui.FindWindow(None, 'skype')
와 그의 자식 창과 제목
child = ???
어떤 생각이 모든 것보다 스카이프
의 HWND를 찾을 수 있나요?당신은 파이썬 win32gui 찾는 자식 창 예를 들어
hwnd = win32gui.FindWindow(None, 'skype')
와 그의 자식 창과 제목
child = ???
어떤 생각이 모든 것보다 스카이프
의 HWND를 찾을 수 있나요?이 코드는 어떤 길이의 WindowsText
을 가지고 에디트 플러스 자식 창 hwnd
보여줍니다
편집
당신은 응용 프로그램의 hwnd
을 찾아야하고 EnumChildWindows
과이 핸들을 사용합니다. 나는 그것으로 예제 코드를 확장했다. 일단 애플리케이션 hwnd
을 얻으면 해당 창만 열거 할 수 있습니다. 0을 hwnd
에서 EnumChildWindows
으로 지정하면 실행중인 모든 창을 처리 할 수 있습니다. 내 코드에 지문을 추가하고 그것을 확인하십시오!
확장 코드 :
import win32gui
MAIN_HWND = 0
def is_win_ok(hwnd, starttext):
s = win32gui.GetWindowText(hwnd)
if s.startswith(starttext):
print s
global MAIN_HWND
MAIN_HWND = hwnd
return None
return 1
def find_main_window(starttxt):
global MAIN_HWND
win32gui.EnumChildWindows(0, is_win_ok, starttxt)
return MAIN_HWND
def winfun(hwnd, lparam):
s = win32gui.GetWindowText(hwnd)
if len(s) > 3:
print("winfun, child_hwnd: %d txt: %s" % (hwnd, s))
return 1
def main():
main_app = 'EditPlus'
hwnd = win32gui.FindWindow(None, main_app)
print hwnd
if hwnd < 1:
hwnd = find_main_window(main_app)
print hwnd
if hwnd:
win32gui.EnumChildWindows(hwnd, winfun, None)
main()
메신저 여기에 조금 혼란 ... 난 거기 자식 창없는 응용 프로그램의 밤은 그것을 실행할 때 사실에도 불구하고 주요 HWND과 나무 차일을 반환하는 aplication의 전원을 켤 때 어떤 숫자도 없을 때 너무 많은 결과를 출력합니다. btw는 whitch 프로세스가 실행중인 whitch 창을 결정하는 방법이 있습니까? – nabizan
예가 업데이트되었습니다. –