context = pythoncom.CreateBindCtx(0)
rot = pythoncom.GetRunningObjectTable()
er = rot.EnumRunning()
for moniker in er:
display_name = moniker.GetDisplayName(context, moniker)
print(display_name)
출력해보면
!HwpObject.120.2
!HwpObject.120.1
이렇게 두개만 나오는데요…
한글을 4개 띄워놨는데 왜 이럴까요?
rot 처음 보는거라 제가 뭔가 모르고 있는걸까요?
1개의 좋아요
안녕하세요.
문의주신 코드는 실행 중인 한글 오토메이션 개체들을 찾는 구현 로직 같습니다.
오토메이션 개체 ≒ Hwp.exe로 볼 수 있는데요.
!HwpObject.120.1, !HwpObject.120.2가 검색된 것으로 봐서는
현재 실행중인 Hwp.exe 프로세스가 2개로 예측이 됩니다.
(오토메이션 개체 ≠ 한글 창의 개수)
ROT(Running Object Table) 관련한 이전 문의가 있으니 참고하시면 좋을 것 같고,
ROT와 관련된 설명은 MSDN을 참고해주세요.
감사합니다.
2개의 좋아요