2012-07-16 4 views
0

저는 Python을 처음 사용하고 특정 창을 닫을 때 루프 밖으로 나가는 스크립트를 작성하려고합니다. 코드가 제대로 작동하도록하는 데 문제가있어 루프에 들어 가지 않을 수도 있습니다. 나는 이것이 창 이름을 제대로 얻지 못하고 있기 때문이라고 생각합니다. Win32Gui 확장에 대한 유용한 자습서가 있는지 궁금 해서요. 어떻게 작동하는지 이해하는 데 도움이 될 것입니다.Windows API를 사용하여 창 이름 가져 오기

편집 여기

은 어떻게 생각되는 일을하고, 내가 가지고있는,하지만 난 그것을하는 쉬운 방법이 있는지입니다.

def answerCalls(local, network): 
t = 0 
count = 0 
while t == 0: 
    time.sleep(1) 
    if win32gui.GetWindowText(win32gui.GetForegroundWindow()) == "Incoming Call": 
     time.sleep(10) 
     getApplicationPos("Incoming Call") 
     clickOnElement(******.IncomingCall_AnswerButton()) 
     time.sleep(10) 
     if win32gui.GetWindowText(win32gui.GetForegroundWindow()) == "Video Call": 
      count += 1 
      writeFile("Answering Calls", count, local) 
      uploadToServer(local, network) 
+0

정말 그것이 다른 언어에서 수행 될 방법에서 정말 차이가 없습니다. –

+1

코드를 표시하면 특별히 도움이 될 수 있습니다. –

+0

당신은 정확히 그게 작동하지 않는 것을 시도하고 있습니까? –

답변

2

다음의 예 (파이썬 3) 모든 윈도우의 제목의 목록을 가져옵니다 :

import win32gui 

def enum_window_titles(): 
    def callback(handle, data): 
     titles.append(win32gui.GetWindowText(handle)) 

    titles = [] 
    win32gui.EnumWindows(callback, None) 
    return titles 

titles = enum_window_titles() 
+0

이 코드는 Python 2.x에서도 실행됩니다. 'GetWindowText'는 그 빈칸에 아무것도없는 것을 나타내는 빈 문자열을 자주 반환합니다. – martineau

+0

감사합니다. 올바른 Window 이름을 사용하고 있음을 입증하는 데 도움이되었습니다. 나는 그것을 작동 시키려고했지만, 나는 아직도 내가 작업하고있는 대본의 다른 부분에 약간의 꼬임을 가지고있다. – youCanCallMeSam

관련 문제