⚠ 이 강좌는 오토핫키 v2를 다룹니다
지금 보시는 강좌는 널리 알려진 오토핫키(v1.1)의 차세대 버전인 오토핫키 v2를 다루고 있습니다.
이전 오토핫키 버전과는 많은 부분에서 호환이 되지 않으니,
만약 현시점에서 대중적인 '오토핫키 v1.1'의 강좌를 찾으신다면 프날 오토핫키 강좌(https://pnal.kr)를 봐주시길 바랍니다.
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://lexikos.github.io/v2/docs/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")
WorkindDir 매개변수는 생략했기에 쉼표가 두 번 적힌 꼴이 되었습니다. 저 두 개의 쉼표 사이에 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: 주소로 바로 이메일 클라이언트로 이메일을 쓸 수 있도록 할 수도 있죠. 그러나 지엽적인 부분이기에 생략했습니다.