Python으로 Windows OS의 프로세스를 체크하는 소스입니다.

먼저 소스를 봅시다.


import os, sys, time
from win32com.client import GetObject

WMI = GetObject('winmgmts:')

ProcessList = []

processes = WMI.instancesOf('Win32_Process')

for process in processes:
	 ProcessList.append(process.Properties_('Name').Value)

print ProcessList


소스에서 os, sys, time 이외의 win32com.client라는 패키지와 GetObject라는 모듈이 있습니다.

win32com.client는 Python 모듈을 따로 받아줘야 합니다.


win32com.client 다운로드 링크(Source Forge) : https://sourceforge.net/projects/pywin32/files/?source=navbar


각설하고, 소스를 설명하겠습니다.


WMI에는 GetObject('winmgmts:')를 선언합니다.

processes라는 변수에는 WMI.instancesOf('Win32_Process')를 통해 프로세스에 대한 데이터를 모두 긁어옵니다.

그리고 for 문에서는 processes에서 있는 정보를 하나씩 가져와서 Properties_('Name').Value를 통해 하나씩 ProcessList에 append 하도록 만들었습니다.

이후 ProcessList를 통해 확인합니다.


<<참고>>


GetObject()함수는 VB(Visual Basic)의 GetObject() 함수와 동일한 기능을 한다고 합니다.

GetObject(Class = "ProgramID") 혹은 GetObject(Class = clsid)로 쓰면, 이미 실행하고 있는 COM object에 연결합니다.

COM(Component Object Model) object란 마이크로소프트가 개발한 소프트웨어 구성요소들의 응용프로그램 이진 인터페이스를 말합니다.






+ Recent posts