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

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. 좋은 기능 넣어주셔서 감사합니다!! 칼무리 이용해서 자동화 하는데 큰 도움이 되었습니다!!

お役立ち掲示板

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