[Toy Project] PPT 슬라이드 쇼 제어 프로그램(PPT Sliding) 개발 후기 ✅

김찬미·2024년 8월 16일
0

Toy Project

목록 보기
3/9

🌊 PPT Sliding

PPT 슬라이드 쇼 제어 프로그램

프로젝트 배경

어느날 교회에서 연극 준비를 돕고 있는데, 배경 담당을 하시는 분으로부터 질문이 들어왔다.

슬라이드 쇼를 백그라운드에서도 제어하고 싶은데 방법이 없을까요?

이번에 연극 준비를 하게 된 곳은 컴퓨터가 하나밖에 없었고, 음향 프로그램과 PPT를 동시에 제어해야 해 포커스가 벗어난 백그라운드 창에서도 슬라이드 쇼를 넘기고 싶다는 의뢰였다. 사실 이런 작업은 해본 적이 없었지만 왠지 방법이 있을 것 같아 무심결에 제가 할 수 있을 것 같은데요? 라고 말해버리고 말았다.

어쨌든 만들어 보겠다고 말해본 이상 완벽하게 만들고 싶었고, 방법을 찾아보던 중 발견한 것이 바로 AutoHotKey라는 윈도우 스크립트 언어였다.

AutoHotKey란?

무료 오픈 소스 기반의 윈도우 스크립트 언어로, 웹 개발보다는 주로 매크로 등의 기능을 만들 때 사용하는 언어이다. IOS단축어 기능처럼, 특정 동작을 통해 사전에 정의한 기능을 수행하게 하는 윈도우판 단축어라고 할 수 있겠다.

나는 특정 키를 누르면 슬라이드 쇼에 Page Down, Page Up 키를 전달하게 만들고 싶었기에 나에겐 안성맞춤인 언어였다. AutoHotKey의 설치, 사용법 등에 관해서는 추후에 따로 기술하도록 하겠다.


프로젝트 로직

; Persistent 스크립트를 계속 실행 상태로 유지
#Persistent
SetTitleMatchMode, 2 ; 윈도우 제목의 일부분으로 윈도우를 찾을 수 있도록 설정

; 현재 활성화된 창의 핸들을 저장할 변수
originalWindow := ""

; Ctrl + Right Arrow를 눌렀을 때 Page Down 키 입력을 슬라이드 쇼에 보냄
^Right::
; 현재 활성화된 창의 핸들을 저장
originalWindow := WinExist("A")
IfWinExist, 슬라이드 쇼
{
    WinActivate ; 슬라이드 쇼 창을 활성화
    Send, {PgDn}
    Sleep, 100 ; 잠시 대기
    ; 원래 활성화된 창으로 포커스 복원
    WinActivate, ahk_id %originalWindow%
}
return

; Ctrl + Left Arrow를 눌렀을 때 Page Up 키 입력을 슬라이드 쇼에 보냄
^Left::
; 현재 활성화된 창의 핸들을 저장
originalWindow := WinExist("A")
IfWinExist, 슬라이드 쇼
{
    WinActivate ; 슬라이드 쇼 창을 활성화
    Send, {PgUp}
    Sleep, 100 ; 잠시 대기
    ; 원래 활성화된 창으로 포커스 복원
    WinActivate, ahk_id %originalWindow%
}
return

🔄️ 동작 방식

이 프로그램의 동작은 크게 3가지로 나눌 수 있다.

  1. 특정 단축키를 누르면, 슬라이드 쇼 창을 찾는다.
  2. 단축키에 따라 슬라이드 쇼 창에 PgDn, PgUp 버튼을 보낸다.
  3. 원래 실행중이던 창으로 포커스를 복원한다.

⌨️ 단축키

  • Ctrl + Right Arrow: 다음 슬라이드로 이동 (Page Down 키를 슬라이드 쇼에 전송)
  • Ctrl + Left Arrow: 이전 슬라이드로 이동 (Page Up 키를 슬라이드 쇼에 전송)

여기서 Ctrl키보드상 왼쪽에 있는 Ctrl을 의미한다. 키보드에 있는 방향키 중 ➡️,⬅️와 함께 누르면 된다.

↩️ 포커스 복원

originalWindow := WinExist("A")
···
WinActivate, ahk_id %originalWindow%

특히 이 프로그램의 장점은 언제 어디서나 단축키만 누르면 슬라이드 쇼가 실행되고 다시 원래 창으로 포커스를 복원한다는 점이다.

이러한 특징 덕에 우리 교회에서는 마우스 담당(음향 프로그램 제어), 키보드 담당(슬라이드 쇼 제어)을 나누어 한 컴퓨터를 두 가지 방식으로 사용할 수 있게 되었다.


설치 및 사용 방법

🗂️ exe 파일 사용 시

  1. PPT_Sliding.exe를 다운받는다.

  2. 위 실행 파일을 실행한다.

  3. PPT 프로그램을 실행 후, 슬라이드 쇼를 시작해 단축키를 사용하여 슬라이드를 제어한다.

📜 ahk 파일 사용 시

  1. AutoHotkey를 설치한다.

  2. PPT_Sliding.ahk를 다운받는다.

  3. 스크립트를 실행한다.

  4. PPT 프로그램을 실행 후, 슬라이드 쇼를 시작해 단축키를 사용하여 슬라이드를 제어한다.

⚠️ 주의 사항

IfWinExist, 슬라이드 쇼

이 스크립트는 "슬라이드 쇼"라는 이름을 가진 창을 대상으로 동작하기 때문에, 만약 슬라이드 쇼 창의 이름이 다르다면 스크립트를 수정하여 창 이름을 변경해야 한다.


마치며 ✈️

이번 프로그램은 나에게 있어 의미가 깊은 프로그램이다. 그 동안은 내가 만들고 싶은 것들을 만들었다면, 이번에는 실제 사용자의 요구에 맞춰 개발을 했기 때문이다.

또한 내가 개발한 프로그램을 현실에서 사용하는 모습을 보고, 개발로 인해 복잡하던 작업이 한 순간에 편리해진 것을 보니 뿌듯하기도 하고 개발의 중요성을 다시 한 번 깨닫게 된 것 같다. 앞으로도 다양한 언어로 다양한 개발을 해보고 싶다!

profile
백엔드 개발자

0개의 댓글

관련 채용 정보