이거 하나만 알려주시면 소원이 없겠습니다ㅜㅜㅜ

안녕하세요, ilco님 ^^
기존 ROT를 이용한 코드를 통해서 파이썬으로 구현해보았습니다 ~!
pythoncom 및 win32com 을 이용시 현재 실행중인 한글에 대한 제어가 가능합니다 .
제가 테스트 할때는 잘 동작을 했는데 확인 후 추가 문의 사항이 있으실 경우 댓글 부탁드립니다.
감사합니다. :slight_smile:

import win32com.client as win32 
import pythoncom 
from win32com.client import Dispatch

context = pythoncom.CreateBindCtx(0)

# 현재 실행중인 프로세스를 가져옵니다. 
running_coms = pythoncom.GetRunningObjectTable()
monikers = running_coms.EnumRunning()

for moniker in monikers:
    name = moniker.GetDisplayName(context,moniker);
    # moniker의 DisplayName을 통해 한글을 가져옵니다
    # 한글의 경우 HwpObject.버전으로 각 버전별 실행 이름을 설정합니다. 
    if name == '!HwpObject.120.1':
        # 120은 한글 2022의 경우입니다. 
        # 현재 moniker를 통해 ROT에서 한글의 object를 가져옵니다. 
         obje = running_coms.GetObject(moniker)
         # 가져온 object를 Dispatch를 통해 사용할수 있는 객체로 변환시킵니다. 
         hwp = Dispatch(obje.QueryInterface(pythoncom.IID_IDispatch))
         # 그이후는 오토메이션 api를 사용할수 있습니다. 
         # f:\\test.hwp를 여는 예제 입니다. 
         hwp.Open("f:\\test.hwp", arg="forceopen:True;suspendpassword:True;versionwarning:False")
5개의 좋아요