⚠ 이 강좌는 오토핫키 v1을 다룹니다
지금 보시는 강좌는 구버전 오토핫키(v1.1)를 다루고 있습니다. 따라서 본 강좌의 내용은 현재 최신 오토핫키 버전 (v2.0)과 호환되지 않습니다. 구버전의 정보가 필요한 것이 아니라면, 가능한 한 새로운 사이트에 작성한 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) >