접근 승인창 자동화

한글 2022에서 HWPFrame.HwpObject Automation을 Python(pywin32)으로 사용하고 있습니다.
로컬 HWP 파일을 Open()할 때 간헐적으로 다음 파일 접근 승인창이 나타나 자동화가 중단됩니다.

“한글을 이용하여 위 파일에 접근하려는 시도(파일의 손상 또는 유출의 위험 등)가 있습니다.”
[접근 허용] [모두 허용] [허용 안 함] [모두 안 함]

공식 가이드에 따라 Automation용 FilePathChecker 보안 모듈 사용을 시도했습니다.
레지스트리 위치는
HKEY_CURRENT_USER\Software\HNC\HwpAutomation\Modules
이며, 코드에서는 파일 Open 전에
HwpObject.RegisterModule("FilePathCheckDLL", "<등록된 문자열 값 이름>")
을 호출하고 있습니다.

하지만 현재 RegisterModule()False를 반환하며, 승인창이 반복적으로 발생합니다.

확인 부탁드리는 사항은 다음과 같습니다.

  1. 한글 2022에서 HwpObject Automation용으로 현재 공식 지원되는 FilePathChecker 모듈은 무엇인가요?
  2. 한컴 개발자 사이트에서 배포하는 FilePathCheckerModuleExample.dll을 그대로 사용하면 되나요, 아니면 소스를 직접 빌드해야 하나요?
  3. DLL의 32/64비트 조건 또는 코드서명 요구사항이 있나요?
  4. HKCU\Software\HNC\HwpAutomation\Modules에 등록할 정확한 값 이름과 DLL 경로 형식은 무엇인가요?
  5. RegisterModule("FilePathCheckDLL", "...")False를 반환하는 경우 확인해야 할 조건은 무엇인가요?
  6. 여러 HWP 파일을 자동으로 연속 처리하는 애플리케이션에서 승인창 없이 사용할 수 있는 공식 권장 방식이 있나요?

대량 문서 자동 처리가 목적이므로 사용자가 매 파일마다 승인 버튼을 누르는 방식은 사용할 수 없습니다.
보안을 비활성화하거나 우회하는 방법이 아니라, 한컴에서 공식 지원하는 설정 방법을 알고 싶습니다.

안녕하세요

안녕하세요. 문의하신 내용 답변드립니다.

  1. 지원되는 모듈
    자동화(HwpObject)에서 지원하는 방식은 RegisterModule(“FilePathCheckDLL”, “<레지스트리 값 이름>”)입니다.

  2. 예제 DLL 사용 여부
    배포된 FilePathCheckerModuleExample.dll을 그대로 등록해 사용하셔도 됩니다.

  3. 비트 수 / 서명

  • DLL은 한글(Hwp.exe)과 동일한 32 비트여야 합니다.
  • 코드 서명 요구사항은 없습니다.
  1. 레지스트리 등록 형식
[HKEY_CURRENT_USER\Software\HNC\HwpAutomation\Modules]
"FilePathCheckerModuleExample"="C:\\HwpAutomation\\FilePathCheckerModuleExample.dll"

  • 값 이름은 임의로 정하시면 되고, RegisterModule의 두 번째 인자와 정확히 일치해야 합니다.
  • 값 형식은 REG_SZ, 데이터는 DLL 절대 경로입니다.
  1. False 반환 시 점검 항목
    가장 흔한 원인은 두 번째 인자에 DLL 경로나 파일명을 넘기는 경우입니다. 이 인자는 파일명이 아니라 위에서 등록한 레지스트리 값 이름입니다. 그 외에는 아래를 확인해 주세요.
  • 모듈 타입 문자열이 “FilePathCheckDLL” 인지
  • HKCU 아래 해당 값 이름이 존재하고 REG_SZ인지 (레지스트리를 기록한 계정과 한글 실행 계정이 동일한지)
  • Modules\Uses 값이 0이 아닌지
  1. 연속 처리 시 권장 방식
    위 등록이 정상 완료되면 모든 검사 지점에서 승인창이 발생하지 않습니다.

감사합니다.