2011-12-17 7 views
2

그래서 pywin32 모듈을 사용하여 파이썬에서 간단한 시간 추적기를 작성하려고합니다. 그것은 대부분의 시간을 잘 작동하지만 어떤 경우에는 다음 오류 중 하나가 표시됩니다 : 창을 최소화하거나 전체 화면 응용 프로그램을 실행할 때Python pywin32 Access Denied

(5, 'OpenProcess', 'Access is Denied.') 
(87, 'OpenProcess', 'The Parameter is incorrect.)' 

문제점은 일반적으로 게임으로 발생합니다.

관리자로 스크립트를 실행해도 도움이되지 않습니다. 이것이 내가하는 방법입니다 :

windowName = win32gui.GetForegroundWindow() 
t, p = win32process.GetWindowThreadProcessId(windowName) 
handle = win32api.OpenProcess(0x0410, False, p) 
windowPath = win32process.GetModuleFileNameEx(handle, 0) 

어떤 방법으로 문제를 해결할 수 있습니까?

+2

확실'windowName, t을 반환 당신이 있습니까, 올바른 p'입니까? GetForegroundWindow가 None을 반환하지 않는지 확인하십시오. – Zuljin

+1

(87, 'OpenProcess', '매개 변수가 틀립니다.') windowName이 0 인 오류가 발생했으나 다른 오류가 남아 있습니다. 전체 화면 게임을 실행할 때만 발생합니다. – strider24

답변

1

먼저 0x0410 권한 (PROCESS_VM_READ + PROCESS_QUERY_INFORMATION)이 필요합니까? PROCESS_QUERY_INFORMATION 또는 PROCESS_QUERY_LIMITED_INFORMATION을 얻는 것만으로도 충분합니까? 이 MSDN 페이지에서 권한 설명을 확인하십시오 http://msdn.microsoft.com/en-us/library/windows/desktop/ms684880(v=vs.85).aspx

이 경우에도 SeDebugPrivilege를 사용하여 프로세스에 대한 디버그 권한을 추가하고 원하는 프로세스를 열어 볼 수 있습니다. 더 많은 정보를 원하시면 다음 링크를 확인하십시오 :

관련 문제