본문 바로가기

Develop/AutoHotkey

[AutoHotkey] Send 발송하다? 기초적인 명령어!

 

AutoHotkey / 오토핫키 / 오토핫키 강좌 / 오토핫키 Send / 오핫 강좌 / AutoHotkey Send / 프로그래밍 / 코딩 / 언어 / 프로그래밍 언어

 

안녕하세요!

원래 계획은 기초적인 여러가지 명령어를 나열하고 하나하나 설명해드리려고 했는데요.

Send 명령어에 대해서 또한 응용에 대해서 얘기 해 드릴 것이 너무 많아 단독으로 설명해드리려고 합니다.

 

혹시 "Send"의 의미가 무엇을 뜻 하는지 아시나요?

한국어로 직역하면 보내다 / 전송하다 의 의미를 가지고 있습니다.

말 그대로 이 "Send" 명령어는 컴퓨터에게 무언가의 정보를 전송하는 역할을 하는 명령어입니다.

 

#01 사용법

Send,전송 할 데이터 스트링

 

한글, 숫자, 한자, 일본어 등등 글자로 이루어진 것을 스트링이라고 합니다.

Send 명령어는 이러한 스트링을 컴퓨터에 전송하여

마치 실제 사용자가 키보드를 두드려 데이터를 입력하는 듯한 효과를 보여줍니다.

 

예를 들어 여러분이 컴퓨터에게 Hello World! 라는 스트링을 입력하라고 명령하고싶다면?

Send,Hello World!

아주 쉽죠?

스크립트를 이렇게 입력하고 메모장을 연 뒤 프로그램을 실행시켜보세요!

빠른 속도로 Hello World! 라고 입력되는 것이 보일겁니다.

 

잠깐! 여기서 문제 하나 드릴게요

Send,Enter

Send,{Enter}

이 둘의 결과는 무엇이 다른 것일까요?

바로 {} 의 유무가 결과의 차이를 가져옵니다.

전자의 경우는 키보드의 "E", "n", "t", "e", "r" 자판을 하나하나 눌러 최종적으로 Enter 라는 스트링이 출력되게 하는 반면

후자는 키보드 내의 Enter 라는 자판을 누른다는 뜻 입니다.

즉 최종적으로 Enter 자판 하나만 눌러진다는 소리죠.

 

또한 Send 명령어는 섞어서 쓰는 등 여러가지 응용을 할 수 있습니다.

Send,Hello{Enter}World{Enter}!!!!!

이 문장이 실행 되었을 때

Hello

World

!!!!!

가 되겠네요.

 

그리고 Send는 여러가지 응용 명령어가 있습니다.

SendinputControlSend 인데요.

ControlSend는 아직 다루기 힘드므로 나중에 얘기 하도록 하고

Sendinput 에 대해서 알아봅시다!

Send와 무슨 차이가 있냐구요? 사용법은 어떻게 되냐구요?

Sendinput,Hello World!

문법 상으로 달라진 것은 없습니다 ㅋㅋ

하지만 SendSendinput을 사용해보신 분들은 서로의 차이를 아시겠죠

바로 입력의 속도 차이입니다.

Send 명령어는 직접 사람이 키보드에서 입력하는 듯한 속도로 타이핑을 하지만

Sendinput은 복사 붙여넣기 수준의 빠르기로 타이핑을 합니다.

그 때문인지 사양이 좋지못한 컴퓨터에서는 많은 양의 정보를 입력 요청하였을 때 씹히는 것들이 종종 있더라구요.

또한 앞의 예시를 보면 Hello 의 H나 World의 W처럼 대문자인 경우

입력 처리 방식이 Shift 키를 누르고 소문자 키를 눌러서 입력하는 것과 동일하게 처리가 되더군요.

제 컴퓨터가 그렇게 사양이 딸리는 컴퓨터가 아닌데

대문자를 처리하다보면 스크립트가 끝났음에도 불구하고 Shift 키가 눌러지는 현상이 몇 번 있었습니다.

아직 완벽하진 않은 명령어지만

그것을 어떻게 사용하냐는 여러분에게 달렸다고 생각합니다!

 

#02 예시 소스

#Singleinstance Force

F1::

Random,Temp,1000000000,9000000000

Run, notepad.exe

Winwait, 제목 없음

Send,안녕하세요 당신의 비밀번호는

Sendinput,{space}%Temp%{space}

Send,입니다.{Enter}비밀번호는 암호화를 위해 빠르게 입력 처리를 하였습니다.

Return

ㅋㅋ 오늘 처음 배운건 Send 명령어 하나인데

생소한게 여럿 들어가 있으니 무슨 소린지 모르겠죠?

원래 예시소스가 다 그런 겁니다!

어차피 나중에 다 배울 내용들이니 한번 알고 넘어가는 것도 나쁘지 않겠죠.

 

프로그램 실행 방식은

F1을 눌렀을 경우

랜덤으로 Temp 변수에 1000000000 ~ 9000000000 수 중 집어 넣습니다.

notepad(메모장)을 실행하고

제목 없음이라는 타이틀의 윈도우 창을 기다립니다.

(메모장 최초 실행했을 때 윈도우 명이 제목 없음 입니다.)

Send 랑 Sendinput 을 이용하여 원하는 것을 타이핑 하고

스크립트를 종료합니다.

 

 

#03 마무리

좋은 공부가 되셨으면 좋겠네요!

모든 분들이 오토핫키 마스터가 되는 그 날 까지!

강좌는 계속됩니다!!

 

행복한 하루 되시길 바라며

저는 이만 물러나겠습니다~

 

'Develop > AutoHotkey' 카테고리의 다른 글

[AutoHotkey] 오토핫키를 설치해보자!  (0) 2015.10.21