newtype
::: newtype의 지식창고 :::
newtype
전체 방문자
오늘
어제
  • 분류 전체보기 (398)
    • Dev (220)
      • C, C++ (44)
      • Go (6)
      • Web (52)
      • DBMS (21)
      • DevOps (8)
      • Java (2)
      • Windows, Win32 (4)
      • Visual Basic (5)
      • C# (2)
      • Mobile (25)
      • SQL CE (7)
      • Google Map (6)
      • Python (2)
      • cygwin (2)
      • 기타 (33)
      • Ruby (1)
    • 명언 (10)
    • 모임 (18)
      • 붕주회 (3)
      • 신흥컴정 (14)
      • 웹20기 (1)
    • 사진 (8)
    • 불펌 (29)
    • 막글 (98)
    • 게임 (6)
    • 여행 (8)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 관리

공지사항

  • whoami
01-07 01:50
hELLO · Designed By 정상우.
newtype

::: newtype의 지식창고 :::

Dev/Go

goCapture - Windows 화면 캡처 도구

2026. 1. 5. 14:28

원본: https://github.com/lmk/goCapture

goCapture - Windows 화면 캡처 도구

Go 언어로 작성된 간단하고 효율적인 Windows 화면 캡처 도구입니다. 한 번 영역을 선택한 후, 다른 애플리케이션과 상호작용하면서 키 하나로 스크린샷을 캡처할 수 있습니다.

주요 기능

  • 영역 선택: Ctrl 키를 누른 상태로 드래그하여 캡처 영역 선택/업데이트
  • 백그라운드 통과: 오버레이는 클릭이 통과되어 애플리케이션과 정상적으로 상호작용 가능
  • 순차 번호: capture_001.png, capture_002.png 등으로 자동 저장
  • 간단한 조작:
    • Ctrl + 드래그 - 캡처 영역 선택 또는 업데이트
    • SPACE - 스크린샷 캡처
    • ESC - 프로그램 종료

시스템 요구사항

  • Windows OS
  • Go 1.21 이상

설치 방법

  1. 이 저장소를 클론하거나 다운로드합니다

  2. 의존성을 설치합니다:

    go mod download
  3. 실행 파일을 빌드합니다:

    go build -o goCapture.exe

사용 방법

  1. 프로그램을 실행합니다:

    ./goCapture.exe
  2. 반투명 오버레이가 화면에 나타납니다:

    • Ctrl 키를 누른 상태로 마우스 왼쪽 버튼을 드래그하여 캡처할 영역을 선택합니다
    • 선택된 영역은 빨간색 테두리로 표시됩니다
    • 언제든지 Ctrl + 드래그로 영역을 다시 선택할 수 있습니다
  3. 영역이 선택된 상태에서:

    • SPACE 키를 눌러 선택한 영역의 스크린샷을 캡처합니다
    • ESC 키를 눌러 프로그램을 종료합니다
    • 다른 모든 마우스 클릭과 키보드 입력은 백그라운드 애플리케이션으로 전달됩니다
    • 창 전환, 스크롤, 버튼 클릭 등 모든 작업이 정상적으로 동작합니다!
  4. 스크린샷은 현재 디렉토리에 다음과 같이 저장됩니다:

    • capture_001.png
    • capture_002.png
    • capture_003.png
    • 등등...

사용 예시

  • 프레젠테이션이나 비디오에서 프레임 캡처
  • 문서를 읽으면서 여러 스크린샷 촬영
  • 단계별 튜토리얼용 화면 녹화 대안
  • 특정 UI 요소를 반복적으로 캡처

기술 세부사항

  • Windows API를 사용한 키보드 훅 (저수준 키보드 훅)
  • Windows API 마우스 훅을 사용하여 Ctrl+드래그 감지
  • 클릭 통과 오버레이를 위한 WS_EX_TRANSPARENT 레이어드 윈도우 활용
  • 스크린샷 라이브러리: github.com/kbinani/screenshot
  • Space와 ESC를 제외한 모든 키와 마우스 이벤트는 시스템으로 전달되어 정상적인 상호작용 유지

소스에서 빌드하기

# 의존성 설치
go mod download

# Windows용 빌드 (콘솔 창 없음)
go build -ldflags="-H windowsgui" -o goCapture.exe

# 콘솔 창 포함 빌드 (디버깅용)
go build -o goCapture.exe

문제 해결

프로그램이 시작되지 않음:

  • Windows에서 실행 중인지 확인하세요
  • 권한 문제가 있는 경우 관리자 권한으로 실행해보세요

스크린샷이 검은색으로 나옴:

  • 일부 애플리케이션은 하드웨어 오버레이를 사용하여 캡처할 수 없습니다
  • 전체 화면 대신 창 모드로 대상 애플리케이션을 실행해보세요

Ctrl+드래그가 작동하지 않음:

  • 관리자 권한으로 프로그램을 실행해보세요
  • 일부 보안 소프트웨어가 키보드/마우스 훅을 차단할 수 있습니다

키가 통과되지 않음:

  • Space와 ESC만 프로그램에서 캡처합니다
  • 다른 모든 키는 정상적으로 통과되어야 합니다
  • 문제가 지속되면 관리자 권한으로 실행해보세요
반응형
저작자표시 (새창열림)

'Dev > Go' 카테고리의 다른 글

AI와 채팅  (0) 2022.12.02
Oracle 에서 MariaDB로 데이터 마이그레이션  (0) 2022.10.13
Cobra로 Command 입력  (0) 2022.10.11
go 에서 time 없는 난수 발생  (0) 2022.09.19
Golang으로 Synology 연동 Telegram 봇 만들기  (1) 2020.03.15
    'Dev/Go' 카테고리의 다른 글
    • AI와 채팅
    • Oracle 에서 MariaDB로 데이터 마이그레이션
    • Cobra로 Command 입력
    • go 에서 time 없는 난수 발생
    newtype
    newtype
    지극히 개인적인 지식의 창고

    티스토리툴바