본문 바로가기
매크로 프로그램

비활성 창 텍스트 읽기 매크로 설정 방법 - NGM소프트웨어 활용 가이드

by 백수아저씨 2025. 3. 21.
반응형

안녕하세요. 업무 자동화 RPA 매크로 도구 엔지엠소프트웨어입니다.

엔지엠 매크로는 윈도우 고유 ID인 '핸들(handle)'을 사용해, 비활성 상태에서도 텍스트를 읽고 조작할 수 있도록 설계되어 있습니다. 대부분의 윈도우 프로그램은 이 방식으로 문제없이 작동합니다.

단, 안드로이드 에뮬레이터, VMware, 또는 일부 게임 환경(렌더링 기반)에서는 별도의 방식이 필요합니다.

 

🧪 테스트 환경 구성

예제로 사용할 윈도우 테스트 프로그램에는 버튼 클릭 시 콤보박스와 닫기 버튼이 포함된 새 창이 열립니다.

 

 

 

📘 기본 사용법: 텍스트 읽기

  1. NGM 매크로 에디터 실행
  2. 텍스트 읽기 액션 추가
  3. 컨트롤 찾기 클릭 → 대상 컨트롤에 마우스를 올리고 F1 누르기

 

🔍 보통 이 단계까지만으로 텍스트 읽기가 가능합니다.

  1. 매크로 실행 후 결과 확인
  2. 텍스트가 읽히지 않으면 동작 방식을 PostMessage → SendMessage로 변경해보세요.

 

 

 

⚠️ 텍스트가 여전히 읽히지 않을 경우

해당 컨트롤을 수동으로 설정해야 할 수 있습니다.
이 경우 Spy++ 도구를 사용해 컨트롤 구조를 분석해야 합니다.

 

🕵️ Spy++를 이용한 컨트롤 분석

  1. 🔗 Spy++ 설치 방법 보기 (Visual Studio Community 필요)
  2. Spy++ 실행 → 쌍안경 아이콘 클릭 → 창 찾기 → 레이더 아이콘 드래그 → 대상 컨트롤에 올리기
  3. 핸들이 잡히면 '확인' → '속성 검사자' 하단 '동기화' 클릭
  4. 구조를 보면 창(Form2)의 첫 번째 자식 컨트롤임을 확인할 수 있습니다.

 

 

 

속성 검사자가 나타나는데요. 하단의 동기화 버튼을 클릭하세요.

 

 

 

닫기를 누르고 스파이++ 창을 보면 해당 컨트롤의 하이어라키 구조를 파악할 수 있습니다.

구조를 보면 Form2 창의 첫번째 자식 컨트롤인것을 알 수 있습니다.

프로그램에 따라서 더 복잡한 형태일수도 있지만, 구조를 알면 컨트롤의 값을 가져올 수 있습니다.

 

 

 

🛠️ 매크로에 수동 설정 적용

  1. 텍스트 읽기 액션에서 찾기 옵션을 True로 창 이름은 Form2로 입력
  2. 컨트롤 위치 목록 클릭 → 편집 모드에서 첫 번째 자식 컨트롤로 설정

이제 매크로를 실행하면 콤보박스의 텍스트를 정상적으로 읽어올 수 있습니다.

 

 

 

수동으로 컨트롤의 위치를 설정해야 하기 때문에 컨트롤 위치 목록을 클릭해서 컨트롤 위치를 편집해야 합니다.

 

 

 

스파이++로 확인한 내용을 참고해서 아래와 같이 첫번째 자식 칸트롤로 설정하세요.

 

 

 

💡 추가 팁: 다양한 컨트롤 접근 방법

  • 클래스 이름 + 순서 조합으로도 컨트롤 탐색 가능
  • AutoHotKey의 WinGet, ControlGet 명령어를 활용하여 핸들 값 수동 추출 가능

[ 오토핫키로 컨트롤 핸들 찾아서 사용하는 방법 ]

 

📺 더 자세한 설명은 아래 동영상을 확인하세요.

 

 

📌 참고 링크


🔖 추천 해시태그

#비활성창매크로 #텍스트읽기 #RPA자동화 #NGM소프트웨어 #SpyPlus사용법 #핸들제어 #윈도우컨트롤 #오토핫키연동 #자동화툴 #윈도우매크로

반응형