⚠ 이 강좌는 오토핫키 v1을 다룹니다
지금 보시는 강좌는 널리 알려진 오토핫키(v1.1) 버전을 다루고 있습니다. 만약 차세대 버전인 '오토핫키 v2'의 강좌를 찾으신다면 프날 오토핫키 강좌 v2(https://ahkv2.pnal.dev)를 봐주시길 바랍니다.
ControlSetText는 컨트롤에 글씨가 있거나 입력할 수 있는 경우, 그 글씨를 변경하는 역할을 합니다.
매개변수
ControlSetText의 매개변수는 아래와 같습니다.
ControlSetText [, Control, NewText, WinTitle, WinText, ExcludeTitle, ExcludeText]
이 중에서, 우리가 사용할 매개변수만 추리면 아래처럼 요약할 수 있습니다.
ControlSetText [, Control, NewText, WinTitle]
- Control 매개변수: 바꿀 글씨가 있는 컨트롤의 ClassNN을 써주시면 됩니다.
- NewText: 매개변수: 바꿀 글씨를 입력합니다.
- WinTitle: 바꿀 글씨가 있는 프로그램의 타이틀입니다.
예시
메모장에 글을 ControlSend를 이용하지 않고 ControlSetText를 이용해 바꿔보도록 하겠습니다.
우선, 위와 같이 메모장에 글씨가 써져 있다고 가정합니다. 그 후 Window Spy를 통해 메모장의 입력 칸의 정보를 가져옵니다.
WinTitle과 ClassNN은 아실테고, ClassNN밑에 "Text"라는 부분이 있습니다. 메모장에 입력한 글이 써져있네요.
ControlSetText로 이 부분을 바꿔보겠습니다.
ControlSetText, Edit1, 바뀌었습니다!, 제목 없음 - 메모장
메모장의 글씨가 바뀌었습니다.
두 번째로, PC버전 카카오톡이 설치되어 있다면 비활성으로 문자를 보낼 수 있습니다. ControlSend는 "전송"을 위한 엔터키를 누르는 목적으로만 사용하고, 채팅 입력 칸에 글씨는 ControlSetText로 입력하면 좋겠네요.
F1::
ControlSetText, RichEdit20W1, 테스트테스트, 채팅방 이름
Sleep, 500
ControlSend, , {Enter}, 채팅방 이름
return
F2::
ExitApp
'채팅방 이름'부분을 자신의 채팅방 이름으로 수정한 후, 해당 채팅방을 켠 후 F1키를 눌러보시면 글씨가 전송됩니다.
RichEdit20W1은 채팅 입력 칸의 ClassNN입니다.
다음 강은 비활성 명령어를 써보는 프로그래밍 문제입니다.
< 39. ControlClick | 40. ControlSetText | 41. 프로그래밍 문제 (9) >