목록분류 전체보기 (36)
LearningNote
[오토핫키] 타이밍 제어 타이밍을 제어하는 방법에 대해 알아보겠습니다. 키보드 제어와 마우스 제어에 대해 공부하면서 Sleep 명령어에 대해 간단히 다루어본 적이 있습니다. 잠시 특정 시간 동안 아무것도 하지 말고 대기하라는 의미죠. 사실, Sleep 은 크게 더 다루어야 할 내용도 딱히 없습니다. 명령어와 명령어 사이에 Sleep 을 넣게 되면, 첫 번째 명령을 수행한 후에, 특정 시간만큼 대기하고, 그다음 명령을 수행합니다. 간단 도움말에는 다음과 같이 명기 되어 있습니다. Delay 는 millisecond 단위이므로, 1초를 쉬기 위해서는 인자에 1000 을 입력해야 합니다. Sleep, Delay 곧바로 실습해봅시다. 좌표 (200, 200) 을 클릭하고, 2초 쉬었다가, Hello World!..
[오토핫키] 좌표계(2) 지난 시간에는 좌표계가 무엇인지, 어떤 좌표계가 있는지, 또 좌표를 어떻게 읽는지 등에 대해 알아보았습니다. 이번 시간에는 좌표계를 사용하는 방법에 대해 알아보겠습니다. 좌표계는 Absolute(Screen), Relative, Client 의 세 가지가 존재하기 때문에 어떤 좌표계를 사용할 것인지에 대한 명령을 내리는 명령어가 필요합니다. CoordMode 라는 명령어입니다. 간단 도움말을 살펴보면 이렇습니다. CoordMode, ToolTip|Pixel|Mouse|Caret|Menu [, Screen|Relative|Window|Client] 좌표계는 세 개 밖에 안 되는데 옵션이 뭐가 이렇게도 많네요. 이것을 다시 크게 분류해보면 조금 더 이해가 쉬울 것입니다. CoordM..
[오토핫키] 좌표계(1) 마우스 제어에 대해 알려드리면서, 좌표계에 대해 살짝 언급했습니다. 이제 그 좌표계에 대해 조금 더 자세히 알아보도록 하시죠. 좌표계에는 세 가지가 있습니다. Absolute, Relative, Client 입니다. Window Active Info 툴을 이용하면 각 좌표계에 대한 마우스 포지션을 쉽게 알 수 있습니다. Absolute 는 전체 화면을 기준으로 좌상단을 (0, 0) 으로 하는 좌표계입니다. Absolute 대신 Screen 이라고도 합니다. 모니터가 여러 개라면 주 모니터의 좌상단을 (0, 0) 으로 하며, 기준점에서 오른쪽으로 갈수록 x 값이 커지고, 아래쪽으로 갈수록 y 값이 커집니다. 왼쪽이나 위쪽으로 가면 음수 값을 가지게 됩니다. 이것이 Absolute(..
[오토핫키] 마우스 제어(3) 마우스 클릭, 더블클릭, 이동, 드래그까지 배웠습니다. 아니 근데 더블 클릭은 언제 배웠냐고요? MouseClick 명령어에 ClickCount 인자를 2로 하면 더블클릭입니다. MouseClick, Left, 100, 100, 1 마우스 클릭은 보통 왼쪽 버튼을 많이 쓰죠. 그래서 간소화된 명령어가 있습니다. Click 이라는 명령어입니다. 좌클릭을 할 때 쓰이며, ClickCount 를 0 으로 하면, 클릭하지 않고 이동만 하는 용도로도 쓸 수 있습니다. 다음의 코드를 통해 이해해보시기 바랍니다. !4:: Click; MouseClick, Left, , , 1 과 동일 Sleep, 2000 Click, , , 2; MouseClick, Left, , , 2 와 동일 Sl..
[오토핫키] 마우스 제어(2) 마우스 포인터만 특정 위치로 이동하고 클릭은 하지 않아야 할 경우도 있을 수 있겠죠? 이런 경우에 쓸 수 있는 명령어는 MouseMove 입니다. SciTE4AutoHotkey 에디터에 MouseMove 명령어를 입력 후 콤마(,) 를 입력해보세요. 다음과 같이 간단한 도움말이 나타납니다. MouseMove, X, Y [, Speed, R] MouseClick 에 비해 더 간단해 보이네요. 어렵지 않으니 바로 실습해볼까요? 그냥 하면 심심하니, 별 모양을 그려보도록 해요. !2:: MouseMove, 624, 219 MouseMove, 488, 663 MouseMove, 848, 385 MouseMove, 399, 382 MouseMove, 767, 661 MouseMove..
[오토핫키] 마우스 제어(1) 키보드 제어하는 방법을 배웠으니, 이번에는 마우스 제어하는 방법에 대해 알아보겠습니다. 마우스 동작의 가장 기본인 클릭부터 알아보시죠. SciTE4AutoHotkey 에디터에서 새 파일을 열고 다음의 코드를 작성해보세요. #SingleInstance, Force F4:: ExitApp !1:: MouseClick, Left, 300, 300, 1 return 대충 무슨 의미인지 짐작은 되실 겁니다. MouseClick 명령어는 말 그대로 마우스를 클릭한다는 뜻이고, Left 는 왼쪽 버튼을 뜻하며, 300, 300 은 x, y 좌표 (300, 300) 을 의미합니다. 마지막에 있는 1은 한 번 클릭한다는 의미입니다. 사실 에디터에서 MouseClick 이라는 명령어를 입력하..
키를 조합해서 입력하는 방법을 알아보겠습니다. 예를 들어, Ctrl + c 로 복사하고, Ctrl + v 로 붙여 넣는 가장 흔한 키 조합이 있습니다. 핫키로 지정하는 방법을 배웠으니 이제 조금은 익숙해지셨을 거라 생각합니다. 오토핫키가 작동하는 과정을 보기 쉽게 하기 위해 복사 대신 잘라내기 단축키인 Ctrl + x 로 실습해보겠습니다. 다음과 같이 Ctrl + 5 핫키를 정의해보세요. Sleep 명령어는 잠깐 쉬라는 의미입니다. millisecond 단위기 때문에 1000을 지정하면 1초를 쉬게 됩니다. 그래서 다음 코드를 풀어 설명하면 이렇습니다. 1. Hello World! 를 입력 2. Ctrl + a 를 눌러 모든 텍스트 선택 3. 1초 대기 4. Ctrl + x 를 눌러 잘라내기 5. 1초 ..
키보드를 반복해서 입력하는 방법에 대해 알아보겠습니다. 예를 들어, a 라는 키를 10번 입력할 일이 있다고 합시다. Send, a Send, a Send, a ... 이런 식으로 10 번 입력해야 할까요? 아니면 이렇게 입력하면 될까요? Send, aaaaaaaaaa 물론 잘 됩니다. 하지만 10번이 아니라 100번이라면요? 혹시 1000번이라면요? 오토핫키 Send 명령어로 키를 반복할 수 있게 하는 방법이 있습니다. Alt + 2 핫키에 이렇게 한번 정의해보세요. !2:: Send, {a 100} return 참 간단합니다. Send 와 관련된 명령어가 몇 가지 있습니다. 일단은 Alt + 3 핫키를 먼저 정의해놓고 진행하도록 합니다. !3:: return SciTE4AHK 에디터에서 Send 를 ..
드디어 매크로 같은 매크로(?)를 처음으로 코딩해볼 시간이 왔습니다. 단축키를 이용하여 키보드를 제어하는 방법을 알아보겠습니다. 전 시간에는 Alt + 1 키를 누르면 Hello World! 라는 메시지 박스를 띄웠었죠. 이번엔 Alt + 1 키를 누르면 Hellow World! 가 메모장에 입력되도록 해보겠습니다. 다음의 코드를 SciTE4AHK 에디터에 입력하세요. !1:: Send, Hello World! return 코드를 다 입력하셨으면, 에디터의 재생 버튼을 눌러 실행합니다. 그리고 메모장을 하나 띄우세요. Alt + 1 키를 눌러보세요. Hello World! 가 잘 입력되나요? 오~ 신기하죠? 매크로 참 쉽습니다. (아직까지는... 쿨럭) 이번엔 메모장이 아닌, 인터넷 브라우저 주소창을 클..
[오토핫키] 명령문과 주석문 오토핫키 스크립트는 문법을 크게 두 가지로 분류해볼 수 있습니다. 명령문과 주석문이죠. 명령문은 컴퓨터가 실제로 어떤 행위를 수행하도록 명령하는 문법이며, 주석문은 개발자가 코드를 작성하더라도 실제로는 컴퓨터가 인식하지 않고 무시하도록 하는 문법입니다. 1. 명령문 명령문은 다시 명령어와 매개변수로 구분됩니다. 앞에서 배웠던 MsgBox 명령문을 살펴보겠습니다. MsgBox, Hello World! MsgBox, Hello World! 여기서 콤마(,) 를 기준으로 왼쪽에 있는 구(?) 를 명령어라고 하며, 오른쪽에 있는 구를 전달 인자 또는 줄여서 인자라고 합니다. 영어로는 Argument 라고 합니다. 명령어는 말 그대로 어떤 명령을 할 것인지를 표현하는 것이며, 전달 인..