ControlSend는 비활성 창에 키 입력을 보내는 명령어입니다. 이를 사용하면 프로그램이 활성화 되어있지 않아도 특정 문자를 입력하거나, 키 입력을 보낼 수 있습니다.

Send가 하는 일의 비활성 버전이라고 보시면 됩니다.

 


 매개변수 

ControlSend의 매개변수는 아래와 같습니다.

ControlSend [, Control, Keys, WinTitle, WinText, ExcludeTitle, ExcludeText]

매개변수 중에서 잘 쓰이지 않는 부분을 잘라내면 아래처럼 됩니다.

ControlSend [, Control, Keys, WinTitle]

우리는 이 세 가지 매개변수만 사용할 것입니다.

  • Control 매개변수: 키 입력을 보낼 컨트롤의 ClassNN을 적어주시면 됩니다.
  • Keys 매개변수: 보낼 키를 적어주시면 됩니다. Send처럼 사용해주시면 됩니다.
  • WinTitle 매개변수: 키 입력을 보낼 창의 WinTitle을 적어주시면 됩니다.

 


 예시 

메모장 프로그램에 비활성 키 입력을 하는 과정을 봅시다. 먼저, Window Spy를 켠 후 메모장의 입력칸을 클릭하여 WinTitle과 ClassNN을 알아냅니다.

WinTitle과 ClassNN이 나왔습니다.

메모장의 WinTitle은 [제목 없음 - 메모장]이고, 입력칸의 ClassNN은 [Edit1]이네요.

 

그렇다면 Control 매개변수에는 [Edit1]을 입력하고, WinTitle 매개변수에는 [제목 없음 - 메모장]을 적어주시면 됩니다.

그리고 입력할 키는 A키로 하겠습니다.

ControlSend, Edit1, {A}, 제목 없음 - 메모장

메모장은 활성 상태가 아닙니다.

비활성 창인 메모장에 A키가 전달되었습니다.

 

아래처럼 사용하여 문장을 입력해봅시다.

ControlSend, Edit1, 가장 중요한 것은 눈에 보이지 않는 법이거든, 제목 없음 - 메모장

참고로, '어린 왕자'의 명대사입니다.

 

쉽지요? 그렇다면 한 가지 미션을 드리겠습니다.

 

카카오톡 PC버전 채팅방에 글자를 쓴 후, 엔터키를 누르면 전송이 됩니다. ControlSend를 이용하여 어떤 채팅방에 글을 전송해봅시다.

 

아, 참고로 글자를 쓴 후 바로 엔터키를 입력하면 전송이 되지 않으니, 0.5초 정도의 지연 시간을 두세요.

 

모범 답안은 아래와 같습니다.

 

38강.ahk
0.00MB

 


| 38. 비활성 보내기 ControlSend |