2016년 5월 20일 금요일

python에서 win32client를 thread에서 사용하거나 thread객체, 함수 안에서 사용할 때 주의점

예를들어
WMI = GetObject('winmgmts:')
processes = WMI.InstancesOf('Win32_Process')

이런식으로 프로세스 리스트를 체크하기위해 사용하려고 thread에서 해당 함수를 작동 시킬 때 에러가 나는데 이 경우에는 해결 방법은 다음과 같다.
pythoncom.CoInitialize()를 반드시 써줘야한다.

문서를 보면 다음과 같이 설명한다.

pythoncom.CoInitialize
CoInitialize()

Initialize the COM libraries for the calling thread.

스레드에서 com라이브러리를 초기화 해야한다.

댓글 없음:

댓글 쓰기