프날 오토핫키 강좌  v2

⚠ 이 강좌는 오토핫키 v2를 다룹니다

지금 보시는 강좌는 과거 오랜 시간동안 알려진 오토핫키(v1.1)의 차세대 버전인 오토핫키 v2를 다루고 있습니다.
만약 구버전인 '오토핫키 v1.1'의 강좌를 찾으신다면 프날 오토핫키 강좌(https://pnal.kr)를 봐주시면 되지만, 새로 오토핫키를 배우신다면 v2 버전을 배우시는 것을 강력히 추천드립니다.

22. 실행하기 Run


이번에는 Run 함수입니다. Run 함수는 무언가를 실행하거나 여는 역할을 하는데, 프로그램을 실행할 수도, 웹페이지를 열 수도, 그리고 어떤 폴더를 열 수도 있습니다.

Run

Run의 원형은 아래와 같습니다.


Run(Target [, WorkingDir, Options, &OutputVarPID])
Run 함수의 원형

ExitApp과 마찬가지로, 지엽적이고 잘 쓰지 않는 매개변수인 '&OutputVarPID'는 알아보지 않겠습니다. 기초 강좌니까요. 나머지 매개변수를 하나씩 알아보면 아래와 같습니다.

  • Target: 실행할 대상을 문자열로 적어줍니다.
  • WorkingDir: 작동 위치를 설정할 경우, 문자열로 적어줍니다.
  • Options: 실행 옵션이 있다면, 문자열로 적어줍니다.

Targets

먼저 Tartget 매개변수에는 실행 대상을 넣어줍니다. 예를 들어서 실행할 프로그램의 경로가 C:\Programs\Program.exe 라면, 이를 그대로 적어주면 됩니다. 프로그램의 위치와 이름까지 포함해야한다는 점을 명심하세요.

만약 특정 웹페이지를 열고싶다면, https://example.org 처럼 URL 주소를 그대로 적어주시면 됩니다.

아래와 같은 CLSID를 이용하여 특수 목적의 폴더를 열어줄 수도 있습니다.

CLSID위치
::{21ec2020-3aea-1069-a2dd-08002b30309d}제어판
::{20d04fe0-3aea-1069-a2d8-08002b30309d}내 PC
::{450d8fba-ad25-11d0-98a8-0800361b1103}문서
::{645ff040-5081-101b-9f08-00aa002f954e}휴지통
기타 CLSID는 https://www.autohotkey.com/docs/v2/misc/CLSID-List.htm 참고

간단하게 이해해보자면 아래와 같죠.

1Run("C:\Programs\Program.exe")
2Run("https://example.org")
3Run("::{645ff040-5081-101b-9f08-00aa002f954e}")

위와 같은 스크립트가 있다면, C:\Programs\Program.exe를 실행시키고 example.org를 연 후에 휴지통 폴더를 열 것입니다.

WorkingDir

이제 WorkingDir 매개변수를 알아보겠습니다. 이는 대상이 작동할 위치를 정해주는데, 실질적인 경로가 아닌 개념적인 작동 위치를 의미합니다. 실제론 프로그램이 C:\Programs 폴더에 있다고 해도, 다른 폴더에서 실행된 것처럼 여길 수 있도록 해줍니다. 설정하지 않을 경우 기본값은 오토핫키 스크립트의 위치입니다(실제 프로그램 경로가 아님에 유의하세요)

프로그램의 작동 위치에 따른 동작의 차이를 잘 모르겠으신 분들은 쓸 일이 없는 매개변수이니, 깊게 설명하진 않겠습니다. 대부분은 생략하니까요. 다른 프로그램을 개발할 때 언젠가 쓸 일이 있긴 합니다.

Options

어떻게 실행할 것인지 설정해줄 수 있는 매개변수입니다. 아래와 같은 옵션 중 하나를 넣어줍니다.

옵션 문자열효과
Max최대화된 상태로 실행
Min최소화된 상태로 실행
Hide숨김 상태로 실행(창이 표시되지 않음)

예를 들어서 어떤 웹사이트를 최대화된 상태로 실행하고자 한다면 아래와 같이 작성해줄 수 있습니다.

1Run("https://example.org",,"Max")

WorkingDir 매개변수는 생략했기에 쉼표가 두 번 적힌 꼴이 되었습니다. 저 두 개의 쉼표 사이에 WorkingDir 매개변수로 적을 인수가 들어갈 수 있지만, 선택 매개변수이므로 이를 생략한 것입니다.

어렵지 않죠? 이제 여러분은 어떤 프로그램이나 사이트, 폴더를 실행할 수 있습니다. 다음 강은 프로그래밍 문제입니다.

절대 경로와 상대 경로

Run 함수를 포함하여, 오토핫키의 모든 '경로'를 적어주는 매개변수엔 절대 경로상대 경로를 모두 사용할 수 있습니다.

스크립트 위치와 상관없이 컴퓨터의 최상위 드라이브(보통 C: 혹은 D:)부터 표현하는 경로를 절대 경로라고 하며, 스크립트 위치에 따라 목적까지 상대적으로 표현하는 경로를 상대 경로라고 합니다.

만약 스크립트가 C:\Example 안에서 작동하고 있다면 각각의 경로 표기 방법은 아래처럼 됩니다.


    절대 경로: C:\Example\ExampleSub\Example.png
상대 경로: .\ExampleSub\Example.png

상대 경로 표기법에서 현재 위치.로, 현재 위치의 상위 폴더..로 표현할 수 있으며, 현재 위치를 표현하는 .는 생략할 수 있습니다. (이 경우 . 뒤에 \ 기호도 생략합니다.)

따라서 C:\Example에서 작동하고 있는 스크립트에서 ..\Test\1.exe라는 경로를 작성하면, 이는 절대 경로로 C:\Test\1.exe를 의미하죠. 상위 경로의 Test 폴더 안을 지정했으니까요!

Tip: Run은 더 유용합니다.

기초 강좌이기 때문에 많은 부분이 생략되었으나, 인수를 받는 프로그램의 경우 인수를 설정해줄수도 있으며, 어떤 프로그램으로 열어야 하는 파일이라면 그 연결 프로그램을 지정해줄수도 있습니다.

심지어는 mailto: 주소로 바로 이메일 클라이언트로 이메일을 쓸 수 있도록 할 수도 있죠. 그러나 지엽적인 부분이기에 생략했습니다.

질문하러 가기