칼무리 - 외부 명령으로 캡처 자동화하기

1. 기능 개요

  • 메시지 대상 윈도우 클래스명: TFrmKalmuri

  • 메시지 유형: WM_COPYDATA (0x004A)

  • 데이터 형식(JSON):

    {"command": "capture"}
  • 지원 명령

    • "capture" : 캡처 실행
    • "about" : 프로그램 정보창 표시

현재는 위 두 가지 명령만 지원하지만,
향후 버전에서 다양한 명령어를 추가할 예정입니다.


2. Python 예제 코드

아래 코드는 Python에서 WM_COPYDATA 메시지를 보내 캡처를 트리거하는 간단한 예시입니다.

import ctypes, json
from ctypes import wintypes

user32 = ctypes.WinDLL("user32", use_last_error=True)
WM_COPYDATA = 0x004A

class COPYDATASTRUCT(ctypes.Structure):
    _fields_ = [("dwData", wintypes.LPARAM),
                ("cbData", wintypes.DWORD),
                ("lpData", wintypes.LPVOID)]

# 전송할 데이터
data = json.dumps({"command": "capture"})
buf = ctypes.create_unicode_buffer(data)
cds = COPYDATASTRUCT(1, len(data.encode('utf-16le')), ctypes.cast(buf, wintypes.LPVOID))

# Kalmuri 윈도우 찾기
hWnd = user32.FindWindowW("TFrmKalmuri", None)

if hWnd:
    r = user32.SendMessageW(hWnd, WM_COPYDATA, 0, ctypes.byref(cds))
    print("전송 완료" if r == 1 else f"실패 (결과: {r})")
else:
    print("창을 찾을 수 없습니다.")

Python 3 이상 환경에서 실행하면
칼무리가 실행 중일 때 즉시 캡처가 동작합니다.


3. 배치파일에서도 간단하게 사용하기

파이썬 환경이 없는 경우를 위해
WM_COPYDATA 메시지를 직접 전송하는 경량 실행파일(kalmuri_cmd.exe) 을 제공합니다.

사용 방법

kalmuri_cmd.exe

실행 즉시 칼무리의 캡처 기능이 호출됩니다.

첨부 파일

  • kalmuri_cmd.c — 순수 WinAPI 기반 소스 코드
  • kalmuri_cmd.exe — 컴파일된 실행 파일 (약 4KB)

5. 마무리

칼무리의 캡처 기능은 이제 외부 스크립트나 자동화 환경에서도 제어할 수 있습니다.
배치 스크립트, 작업 스케줄러, 또는 다른 프로그램과 연동해
자동 캡처 및 후속 작업을 자유롭게 구성할 수 있습니다.

앞으로도 외부 명령을 확장하여
더 다양한 자동화 환경에서 활용할 수 있도록 지속적으로 개선하겠습니다.

감사합니다.

댓글

  1. 좋은 기능 넣어주셔서 감사합니다!! 칼무리 이용해서 자동화 하는데 큰 도움이 되었습니다!!

알짜게시판

열람 길호넷 칼무리 - 외부 명령으로 캡처 자동화하기
윈도우 Chrome 및 Edge를 TLS 1.2 모드로 실행
윈도우 브라우저 환경설정 추출
윈도우 네트워크 탐지
델파이 TrayIcon 이 흐릿하게 보이는 버그? 수정
델파이 실행 중인 프로세스가 활성 창인지 확인하는 함수
델파이 메세지 다이어그램(Message Dialog) 에 체크박스(CheckB…
그누보드 부트스트랩 테마 예제로 사용중인 main.php
그누보드 유튜브 스킨
윈도우 TLS 연결 끊김 해결 방법 - Kyber 비활성화
윈도우 WinDivert 사용중인 어플리케이션 검색
워드프레스 답글 남기기 메시지 변경
윈도우 작업 표시줄 (기타 시스템 트레이 아이콘) 제거 프로그…
워드프레스 cdn.jsdelivr.net 에서 ssl 인증서 오류 문제
그누보드 cdn.jsdelivr.net 에서 ssl 인증서 오류 문제
개발팁 Porto 테마에서 포스팅만 Loading Overlay
그누보드 아이디 대신 이메일로 회원 가입하기
길호넷 시크릿DNS - Kaspersky 백신 사용시 DNS 암호화 관련
길호넷 칼무리 - 영역화면 크기 오류인 경우
기타 HTTPS/DNS 차단 쉽게 이해하기
길호넷 ChangeDNS - DNS 서버를 손쉽게 변경합니다.
그누보드 사이드바 만들기
델파이 파일 포맷 알아내기
개발팁 파일 포맷 알아내기
그누보드 웹폰트 적용하기
그누보드 CKEditor 5 플러그인
길호넷 [시크릿DNS] 프록시 혼합 사용 예제
리눅스 웹서버 상태 확인 후 자동 재시작 쉘 스크립트
길호넷 WinDivert 1753 에러 발생시
길호넷 WinDivert 서비스 종료