ROT 관련 문의드립니다.

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개의 좋아요