⚠ 이 강좌는 오토핫키 v2를 다룹니다
지금 보시는 강좌는 과거 오랜 시간동안 알려진 오토핫키(v1.1)의 차세대 버전인 오토핫키 v2를 다루고 있습니다.
만약 구버전인 '오토핫키 v1.1'의 강좌를 찾으신다면 프날 오토핫키 강좌(https://pnal.kr)를 봐주시면 되지만,
새로 오토핫키를 배우신다면 v2 버전을 배우시는 것을 강력히 추천드립니다.
22. 실행하기 Run
마지막 수정일: 2024-10-24
이번에는 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 참고 |
간단하게 이해해보자면 아래와 같죠.
1 Run("C:\Programs\Program.exe")
2 Run("https://example.org")
3 Run("::{645ff040-5081-101b-9f08-00aa002f954e}")
위와 같은 스크립트가 있다면, C:\Programs\Program.exe를 실행시키고 example.org를 연 후에 휴지통 폴더를 열 것입니다.
WorkingDir
이제 WorkingDir 매개변수를 알아보겠습니다. 이는 대상이 작동할 위치를 정해주는데, 실질적인 경로가 아닌 개념적인 작동 위치를 의미합니다. 실제론 프로그램이 C:\Programs 폴더에 있다고 해도, 다른 폴더에서 실행된 것처럼 여길 수 있도록 해줍니다. 설정하지 않을 경우 기본값은 오토핫키 스크립트의 위치입니다(실제 프로그램 경로가 아님에 유의하세요)
프로그램의 작동 위치에 따른 동작의 차이를 잘 모르겠으신 분들은 쓸 일이 없는 매개변수이니, 깊게 설명하진 않겠습니다. 대부분은 생략하니까요. 다른 프로그램을 개발할 때 언젠가 쓸 일이 있긴 합니다.
Options
어떻게 실행할 것인지 설정해줄 수 있는 매개변수입니다. 아래와 같은 옵션 중 하나를 넣어줍니다.
옵션 문자열 | 효과 |
---|---|
Max | 최대화된 상태로 실행 |
Min | 최소화된 상태로 실행 |
Hide | 숨김 상태로 실행(창이 표시되지 않음) |
예를 들어서 어떤 웹사이트를 최대화된 상태로 실행하고자 한다면 아래와 같이 작성해줄 수 있습니다.
1 Run("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: 주소로 바로 이메일 클라이언트로 이메일을 쓸 수 있도록 할 수도 있죠. 그러나 지엽적인 부분이기에 생략했습니다.