2013-08-29 4 views
0

작동하지 않습니다 파일. 완벽하게 작동하는 윈도우 XP 있지만 win7 함께 더 이상 작동하지 않는 동일한 코드를 시도 할 때. 나는이 코드를 보이는 창 목록을 확인 : 그 내가 볼 수있는 목록에서win32gui의를 FindWindow 내가 아래 명령 PROMT을 활성화하기 위해 코드를 사용 WIN7에게

import win32gui 
def window_enum_handler(hwnd, resultList): 
    if win32gui.IsWindowVisible(hwnd) and win32gui.GetWindowText(hwnd) != '': 
     resultList.append((hwnd, win32gui.GetWindowText(hwnd))) 

def get_app_list(handles=[]): 
    mlst=[] 
    win32gui.EnumWindows(window_enum_handler, handles) 
    for handle in handles: 
     mlst.append(handle) 
    return mlst 


appwindows = get_app_list() 
return appwindows 
for i in appwindows: 
    print i 

: 프롬프트 데이의 comandi - 그것은 WIN7에 윈 XP에서 변경하는 일 파이썬 demo.py 을 ??

감사합니다.

답변

1

수있는 몇 가지가 있습니다. 하지만 ANSI와 UNICODE에 관한 것이라고 생각합니다. 하는 ctypes를 사용 어쩌면

hwn = win32gui.FindWindow(None, u"Prompt dei comandi - python demo.py") 

또는를 : 사용해보십시오

from ctypes import windll 

FindWindowW = windll.user32.FindWindowW 
FindWindowA = windll.user32.FindWindowA 

print FindWindowW(0, u"Prompt dei comandi - python demo.py") 
print FindWindowA(0, "Prompt dei comandi - python demo.py")

는 도움이되기를 바랍니다.

1

유일한 차이점은 공간 하나에 불과하다는 것이 밝혀졌습니다. 난 내 자신을 설명합니다 : 를이 승리 XP에서 작동 :이 WIN7 작동

hwn = win32gui.FindWindow(None, "Prompt dei comandi - python demo.py") 

을 : 미친 소리 만이하는

hwn = win32gui.FindWindow(None, "Prompt dei comandi - python demo.py") 

.