goCapture - Windows 화면 캡처 도구
Go 언어로 작성된 간단하고 효율적인 Windows 화면 캡처 도구입니다. 한 번 영역을 선택한 후, 다른 애플리케이션과 상호작용하면서 키 하나로 스크린샷을 캡처할 수 있습니다.
주요 기능
- 영역 선택:
Ctrl키를 누른 상태로 드래그하여 캡처 영역 선택/업데이트 - 백그라운드 통과: 오버레이는 클릭이 통과되어 애플리케이션과 정상적으로 상호작용 가능
- 순차 번호:
capture_001.png,capture_002.png등으로 자동 저장 - 간단한 조작:
Ctrl + 드래그- 캡처 영역 선택 또는 업데이트SPACE- 스크린샷 캡처ESC- 프로그램 종료
시스템 요구사항
- Windows OS
- Go 1.21 이상
설치 방법
이 저장소를 클론하거나 다운로드합니다
의존성을 설치합니다:
go mod download실행 파일을 빌드합니다:
go build -o goCapture.exe
사용 방법
프로그램을 실행합니다:
./goCapture.exe반투명 오버레이가 화면에 나타납니다:
Ctrl키를 누른 상태로 마우스 왼쪽 버튼을 드래그하여 캡처할 영역을 선택합니다- 선택된 영역은 빨간색 테두리로 표시됩니다
- 언제든지
Ctrl + 드래그로 영역을 다시 선택할 수 있습니다
영역이 선택된 상태에서:
SPACE키를 눌러 선택한 영역의 스크린샷을 캡처합니다ESC키를 눌러 프로그램을 종료합니다- 다른 모든 마우스 클릭과 키보드 입력은 백그라운드 애플리케이션으로 전달됩니다
- 창 전환, 스크롤, 버튼 클릭 등 모든 작업이 정상적으로 동작합니다!
스크린샷은 현재 디렉토리에 다음과 같이 저장됩니다:
capture_001.pngcapture_002.pngcapture_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 |