AutoHotKey - Windows용 HotKey Script Utility

espereto의 이미지

이름: AutoHotKey
License: GPL ver.2
Homepage: www.autohotkey.com
개발언어: C++
OS: Windows 전용(Windows 95, 98, ME에서는 일부 기능 제한됨)

소개
AutoHotKey는 Windows용의 open source utility로, 키보드와 마우스, 조이스틱 등의 입력 장치에 대한 입력을 가로채서 특정 기능을 하도록 하는 SW입니다.

단순한 단축키, 키 리매핑 유틸리티가 아니라 막강한 자체 스크립트 언어를 사용하여 시스템에 대한 여러가지 제어가 가능하며, 입력 장치의 입력을 흉내낼 수도 있습니다.

스크립트를 얼마나 잘 쓰느냐에따라 단순한 단축키, 키 리맵핑 용도로 쓸 수도 있고, 마우스 제스쳐나 상용 유틸리티에서나 제공할만한 다양한 기능을 구현할 수도 있습니다.

또, 스크립트 컴파일러가 제공되어 스크립트를 실행파일로 만들 수 있으며, GUI 구현을 보다 쉽게 해 주는 SmartGUI Creator도 제공됩니다.

지원되는 기능은?

키보드 및 마우스 제어
산술 연산
사운드 카드의 볼륨 조정, 사운드 재생
윈도의 투명화, Always-on-top 설정, 모양 변경
조이스틱이나 키보드로 마우스 흉내내기
시스템 모니터링(특정 윈도가 종료되는 것을 감지하는 것 같은)
클립보드 제어
트레이아이콘의 아이콘, 팝업 메뉴, 툴팁, 풍선 도움말 등을 커스터마이즈
다이얼로그 박스, 툴팁, 풍선 도움말, 팝업 메뉴 디스플레이
시스템 종료나 로그 오프
픽셀 컬러 찾기에 의한 게임용 액션
텍스트 파일 읽고 쓰기 및 파싱
레지스트리 및 INI 파일 읽고 쓰기
윈도우 제어
프로그램의 실행 및 종료
파일 제어(복사, 이동, 삭제, 단축아이콘 생성, 속성 얻기, 휴지통으로 보내기 등등)
GUI 컨트롤 생성 및 제어
등등등

어떤 일을 할 수 있을까?
예전 이 SW를 알게 된 후 재미삼아 스타크래프트용으로 스크립트를 짜 보았습니다. 단축키로 지정된 배럭들을 1~0까지 10개를 돌아가며 마린2, 메딕1, 마린 2 순서로 생산하도록 해 두고, 배럭만 10개를 지어놓고 핫키를 눌러 마린+메딕 부대를 대량으로 찍어냈죠. 생산력이 극대화되면서 정신없이 쏟아지는 마린과 메딕들...... 컨트롤 할 겨를 없이 그냥 어택땅으로 적의 본진으로 보내기만 할 수 밖에 없는 상황이 되었으나, 물량으로 극복이 되어버렸습니다.
( 양심상, 배틀넷에는 들어가지 않고 컴퓨터와 했습니다. :-) )

예전 울티마온라인을 하면서 당시 사용했던 몇 몇 매크로 유틸리티들과 비교해서 생각해보면, 그 유틸리티들보다 더 세밀하고 복잡한 스크립트를 짤 수 있을 것으로 생각됩니다. (단, 게임 내에서의 메시지에따라 다르게 반응하는 스크립트 같은 기능은 제외)

왠만한 게임용 스크립트들은 충분히 작성이 가능합니다.

스크립트를 짜는 게 귀찮다면 그냥 Recording한 다음 편집해서 써도 됩니다.

프로그램을 실행하기위해 매 번 QuickStart의 작고 많은 아이콘들을 뒤지거나 시작-프로그램-.... 으로 실행하거나 하는 괜히 귀찮은 일을 줄이기 위해 단축키로 프로그램을 실행하도록 스크립트를 구성했었습니다.
Ctrl+Space를 누르면 스크립트가 구동되어, 이후 입력되는 커맨드를 환경설정 파일에 있는 커맨드와 비교하여 해당 프로그램이 실행되도록 하였지요.
그리고 입력되는 커맨드는 트레이 부분의 트레이팁으로 표시되게 하여 눈으로 확인이 쉽게 되도록 했습니다.
Ctrl+Space를 누르고, vim[엔터] 하면 GVIM이, Ctrl+Space누르고 gimp[엔터]하면 GIMP가, Ctrl+Space누르고 kldp[엔터]하면 www.kldp.org로 연결되는 브라우저가 뜨는 식이었습니다.

단축키와 스크립트를 조합하여 귀차니즘을 덜 수 있습니다.

개인적으로 로지텍에서 출시된 트랙볼을 사용하는데, 드라이버와 마우스제어 프로그램이 업그레이드되면서 자주 사용하던 기능이 사라져버리는 일을 겪어 드라이버를 계속 구 버전을 쓸 수 밖에 없었습니다.
그러나 버그로 인해 가끔 마우스 제어 프로그램이 종종 죽어버리는 불편함이 있고, 현재 지원되는 기능 중 제대로 동작되는 기능은 몇 가지 되지 않는 불편함도 있어 요즘은 이를 대체하기 위한 스크립트를 짜고 있습니다.
Alt+Tab 조합을 대신할 Task Manager나, 윈도 리사이징, 스크롤링 등의 기능, 단축키를 이용한 프로그램의 실행, 마우스 제스쳐(프로그램별로 구분되는) 등의 기능을 생각해두고 구현중입니다.

상용으로 혹은 번들로 제공되는 마우스/키보드 유틸리티들의 기능 대부분이 구현이 가능합니다.

죽어서는 안 될 윈도 프로그램이 죽어버린다면? 이런 비상사태에 대비하는 스크립트 구성이 쉽게 됩니다. 재빨리 재실행을 시키고, 초기화에 필요한 동작을 하도록 할 수 있으며, 그와 동시에 이메일 클라이언트를 띄워 긴급 이메일을 작성하여 전송하고, 또 로그를 남길 수 있습니다.

vi(vim) 매니아인데 VC++을 써야 하는 상황에서 hjkl로 커서 이동을 하고 싶다, yy로 블럭을 복사하고 p로 붙여넣고 싶다, 이런 경우 vi 모드 스크립트를 구성해서 쓰면 됩니다.

간단한 키보드와 마우스 입력으로 복잡한 작업을 하고 싶거나, 키보드/마우스 입력을 복잡하게 흉내내고자 하면, 또는 단순 반복 위주의 입력/편집 작업 등은 AutoHotkey를 쓰는 것이 적당하다고 생각됩니다.

무엇이 필요할까?
개발자들이야 영문으로 된 매뉴얼을 지겹도록 마주대하니 상관없을 수 있겠지만, 일반적인 사용자들에게는 영어로 된 매뉴얼은 쉽지 않게 느껴지겠지요.

메뉴나 메시지에 한글 한 자 없어도 어렵게 느껴질 것입니다.

즉, 문서와 메뉴, 메시지 등의 한글화가 필요합니다.

그리고, 보다 다양한 응용을 위해 기초적인 스크립트 예제는 물론 고난이도의 예제 스크립트도 개발되어 사용되고, 발전되는 것이 필요합니다.

또한, 추가되었으면 하는 기능, 버그 신고 및 수정 등에 대한 의견 수렴과 작업이 이루어진다면 좋겠습니다.

한글화에 대해서는 상당히 방대한 분량이므로 천천히 진행해야 할 것 같지만, 주요 툴의 사용법이나 간략한 매뉴얼 정도는 우선적으로 진행되는 게 좋을 것으로 생각합니다.

스크립트 개발은 이미 AutoHotKey를 사용해 보신 분들께서 자신의 스크립트를 공개하는 것은 당장이라도 할 수 있을 것입니다.

기능 추가 혹은 추가되어야 할 기능에 대한 건의, 버그 신고 및 수정 등에 대해서는 AutoHotKey를 계속 사용하다보면 자연스럽게 의견이 모일 것으로 생각합니다.

PS) 약속대로 하나 정해서 소개글 올립니다.
소개글 쓰는 것도 쉽지 않군요. =_=
부족해도 이해해주시길 바라며, 부족한 부분에 대해서는 글 남겨주세요~
한글화나 매뉴얼 작성, 스크립트 개발 및 공개, 기타 등등의 작업에 대해서도 어떻게 진행하면 좋을 지 의견 올려주세요~
여러 오픈 소스 프로젝트들이 있지만, 요즘 가지고 노는(?) 게 이놈인지라 이걸로 정했습니다.
조만간, 기존에 작성해 두었던 스크립트와 현재 작성중인 스크립트를 이곳에 공개하도록 하겠습니다.

File attachments: 
첨부파일 크기
Package icon autohotkey_script_runapp.zip5.26 KB
Package icon archlord.zip187.14 KB
Image icon taskselector.png7.91 KB
Package icon TaskSelector.zip1.12 KB

댓글

espereto의 이미지

작년에 작성해두고 틈틈히 손을 보던 RunAPP Script입니다.

기본 설정은,
Ctrl+Space를 누른 후 applist.txt에서 설정된 키워드의 기능을 수행합니다.

applist.txt 파일의 형식은,
;로 시작하는 줄은 주석으로 처리되며
한 줄은 아래 세 개의 토큰으로 구성이 됩니다.
KeyString PathString [WorkPathString]
각 토큰은 [Tab] 하나로 구분이 되며, WorkPathString은 생략 가능합니다.

PathString은 실행할 어플리케이션의 경로를 적으면 되지만, 윈도에서 지원되는 어떠한 형식의 경로를 적어도 상관은 없습니다.
예를 들어, http://www.kldp.org/ 라고 적는다면, 기본 브라우저가 실행되면서 www.kldp.org 에 접속이 됩니다.

구버전 스크립트여서 함수로 기능을 구분하는 부분은 이루어져 있지 않습니다. (최근 스크립트에서는 함수 정의 및 사용이 가능합니다만)

참고로, BlackBox, BBLean 등을 쓰는 경우 TrayTip이 표시되지 않습니다. -_-;

현재 새로 작성중인 스크립트에서도 이 스크립트와 유사한 기능을 넣을 생각이지만, BB등을 쓰는 경우 TrayTip 문제가 있어 GUI를 이용하도록 하고, 설정 파일 형식을 좀 바꿔볼까 하고 있습니다.

주석은 거의 없고 -_-; 코드도 좀 너저분 합니다만 따로 주석을 추가하거나 설명을 하기에는 좀 -_-;; 궁금한 부분 질문하시면 답변을 달도록 하겠습니다.

파일 설명
--------------
applist.txt Application 설정 파일
AutoHotkey.ini 기본 스크립트
Config.ini 환경 설정용 스크립트
InputKeyString.ini 키 입력 처리 및 키 입력 과정을 TrayTip으로 보여주기 위한 스크립트
RunApp.ini 입력된 문자열을 분석하여 applist.txt에서 일치되는 키워드의 어플리케이션 혹은 기능을 수행하는 스크립트

댓글 첨부 파일: 
첨부파일 크기
Package icon 0바이트
mazikonn의 이미지

수고가 많으시네요.

주중이라 많은 시간을 할애할 수가 없어 해당 프로젝트에 대해서 자세히 알아보지는 못했지만 소개글을 읽어본 바로는 대중적으로 많이 사용되는 프로그램인지 궁금하네요. 가능하면 널리 쓰이는 프로그램이어야지 사람들의 관심을 끌 수 있을 것 같은데요. 리눅스에 국한되지 않는다고는 하지만 KLDP 사용자들의 특성상 리눅스 혹은 유닉스 호환 프로젝트여야 더욱 손쉽게 다가갈 수 있을 것 같고요.

일단 코딩보다는 한글화와 스크립트 쪽에 비중을 두고 계신 것 같은데 웬만큼 호응이 있다면 한글화 쪽에 컨트리뷰션을 할 용의가 있습니다. 영어 공부도 할겸 8)

一切唯心造

거친마루의 이미지

어제 이글을 보고 재미있겠다싶어 설치했는데,
생각보다 직관적이고 강력하더군요 +_+

저는 아니지만 회사 사람들중에 아크로드 게임을 즐기는 사람이 상당히 많은데, HP나 MP가 떨어지면 자동으로 채워주는 스크립트를 만들어봤습니다.

PixelGetColor를 사용하기 때문에 1024 x 768에 32bit color depth 모드로 실행해야 하고요 모니터 어둡다고 감마값을 조절하시면 동작 안할찌도 모릅니다.
HP는 절반이하로 떨어지면 자동으로 채워주고요
MP는 거의 1/10 정도남으면 채워줍니다.

0.5초 텀을두고 체크하기때문에 레벨이 너무 높은 몹을 잡을때는 스크립트만 믿고 계시다가는 HP 떨어지는 속도가 너무 빨라서 죽을 수도 있습니다.

AutoHotKey 프로그램을 설치하지 않으신 분들을 위해서 exe파일로도 만들었습니다.. 그건 첨부할께요

그럼 즐겜 : )

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 아크로드 도우미 for 전사 Character
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

IfWinExist, AlefClient
{
	WinActivate
}
else
{
	IfExist, C:\Program Files\nhn\Archlord\archlord.exe
	{
		Run, C:\Program Files\nhn\Archlord\archlord.exe
		WinWait, AlefClient
		WinActivate
	}
	else
	{
		MsgBox, PC에 아크로드가 설치되어있지 않습니다.
	}
}

CoordMode, Pixel , Relative
CoordMode, Mouse , Relative

Loop
{
	;;; HP monitoring
	PixelGetColor, HPgauge, 475, 688
	if HPgauge = 0x575757  ; red color is 0x4849F9
	{
		Send, 1
		Sleep, 50
		Send, 1
		Sleep, 50
		Send, 1
	}

	;;; MP gauge color
	PixelGetColor, MPgauge, 400, 700
	if MPgauge = 0x393939 ; bleu color is 0xFF4926
	{
		Send, 2
		Sleep, 50
		Send, 2
		Sleep, 50
		Send, 2
	}
	; Normally check every 0.5 sec
	Sleep, 500
}
댓글 첨부 파일: 
첨부파일 크기
Package icon 0바이트
espereto의 이미지

mazikonn wrote:
수고가 많으시네요.

주중이라 많은 시간을 할애할 수가 없어 해당 프로젝트에 대해서 자세히 알아보지는 못했지만 소개글을 읽어본 바로는 대중적으로 많이 사용되는 프로그램인지 궁금하네요. 가능하면 널리 쓰이는 프로그램이어야지 사람들의 관심을 끌 수 있을 것 같은데요. 리눅스에 국한되지 않는다고는 하지만 KLDP 사용자들의 특성상 리눅스 혹은 유닉스 호환 프로젝트여야 더욱 손쉽게 다가갈 수 있을 것 같고요.

일단 코딩보다는 한글화와 스크립트 쪽에 비중을 두고 계신 것 같은데 웬만큼 호응이 있다면 한글화 쪽에 컨트리뷰션을 할 용의가 있습니다. 영어 공부도 할겸 8)


관심가져주셔서 감사합니다.

이 프로그램이 알려지기 시작한 건 그리 오래되지 않은 것으로 알고 있습니다. 그리고, 개발자가 아닌 이상 쓰기 힘든 면도 없지 않구요. 그러다보니 한글화와 스크립트에 비중을 두게 되었습니다.
아직 많이 쓰이는 건 아니지만, 강력한 기능들때문에 충분히 널리 쓰일 가능성이 있다고 보고 있습니다.

한글화에 대해서는 방대한 분량이라 솔직히 아직은 엄두가 나지 않습니다. 지금 생각중인 것은 간단한 툴 사용법이라던가 간단한 스크립트 작성에 대한 부분 정도를 한글화하거나 자체 제작하는 걸 생각하고 있고, 이후 관심을 보이는 분들이 많아지면 매뉴얼쪽이나 프로그램의 한글화에도 손을 대 볼까 하고 있습니다.

또, 리눅스/유닉스 호환 프로젝트들도 생각중인 게 몇 가지 있습니다.

QEMU같은 것만 하더라도 쓸 줄 아는 분들은 무난하게 쓰지만 모르는 분들은 아예 모릅니다. 그러나, 개인적으로나 실무에서나 가상의 PC 환경이 필요한 경우는 종종 생기지요.

VNC 계열같은 PC 원격 조종 유틸리티도 적당할 것 같구요.

비록 윈도용이지만, - 그렇기 때문에 현재 KLDP의 리눅스/유닉스 유저/개발자들이 아닌 KLDP에서 아직 활동하지 않는 윈도 유저/개발자들을 끌어들일 수 있는 - freeCommander 라던가 등등 유틸리티 종류들과, 많이 쓰임에도 한글화된 자료는 정작 별로 없는 라이브러리들에 대해서도 차차 정리해 볼 생각입니다.

espereto의 이미지

현재 작성중인 스크립트 유틸리티의 일부분으로,
Alt+Tab 대신 사용할 수 있는 Task Selector Script입니다.

taskSelector(0) 을 호출하면 창이 떠서 현재 윈도우 리스트들이 나타납니다.
10개까지 나타나고, h, l 로 이전/다음 리스트를 볼 수 있으며,
j,k로 Window를 선택할 수 있습니다.
마우스도 가능..
q를 누르면 창이 닫힙니다.
버그가 좀 있어서, 보이는 건 하나의 윈도인데 내부적으로 여러 개의 윈도우로 구성되는 경우, 내부 윈도우가 표시되기도 합니다. -_-;
이건 어떻게 해결해야 할 지 아직 모르겠네요.
BBLean의 경우, BBLeanBar 같은 것도 타이틀이 비어있는 윈도우여서, 아무런 타이틀 없이 표시됩니다.
이런 건 해결이 쉬울 것 같은데...

댓글 첨부 파일: 
첨부파일 크기
Image icon 0바이트
Package icon 0바이트
espereto의 이미지

AutoHotKey의 문서들 중 소개 문서와 Quick-Start Tutorial을 먼저 번역해볼까 합니다.
소개 문서는 그다지 어렵지 않고, 분량도 많지 않은 편입니다.
먼저 찜하시면 임자입니다. :-)

Tutorial은 9 파트로 나뉘어져 있는데, 각 파트는 그다지 길지 않지만 전체 분량은 조금 됩니다. :-)

** 굵은 글꼴로 된 파트는 작업이 예약되어 진행중이거나 완료된 파트입니다. ***

Creating a script
Launching a program or document
Sending keystrokes and mouse clicks
Activating and manipulating windows(진행중)
Getting input from the user with MsgBox, InputBox, etc.
Using variables and the clipboard
Repeating a series of actions over and over
Manipulating files and folders
Overview of other features

역시 먼저 찜하시면 임자입니다.

그리고, 번역 작업은 위키로 진행하는 게 좋을 것 같은데, 다른 분들 생각은 어떠신지요? 위키 페이지를 만들어 진행하거나 혹은 메일로 작업을 진행하고 결과물만을 이 쓰레드의 게시물로 올릴지 결정해야 할 것 같습니다. 모든 과정을 쓰레드에 남기자니 쓰레드가 좀 복잡해질 것 같다는 걱정도 되어서요.

참고로, 번역 작업은 당분간은 원래의 프로젝트와는 별개로 진행하다 어느 정도 정리가 되면 원래의 프로젝트 관리자분께 연락드려서 본 프로젝트의 일부분으로 만들어 나갈지, 아니면 계속 별개의 작업으로 나갈지 결정하게 될 것 같습니다.

mazikonn의 이미지

일단 Creating a script 찜합니다. 내용은 짧지만 그동안 혼자서 머리속으로 이해하기만 했지 번역의 경험이 없어서 조금 걱정이 되네요.

작업 방식에 대해서는 다수의 참여자가 있고 장기적으로 많은 양의 문서를 번역해야 한다면 별도의 wiki나 메일링 리스트를 통해 작업하는 것이 좋겠지만 소수의 참여자가 말씀하시는 Quick-Start Tutorial 정도의 분량을 번역하는 것이라면 일단은 이 글타래에서 해결하는 게 좋을 것 같습니다. 시작이니 만큼 kldp 유저들에게 일의 진척 사항을 공개하고 참여를 유도한다는 면에서도 좋을 것 같고요.

이견이 없다면 조만간 번역한 결과를 이 글타래에 올리겠습니다.

一切唯心造

espereto의 이미지

네, 그럼 당분간 이 글타래에서 작업을 진행하도록 하겠습니다.

전 소개 문서와 Launching a program or document 파트를 번역해서 올리도록 하지요.

저도 번역 경험은 그다지 많지 않습니다. 몇 가지 프로그램들의 한글언어팩 파일 만든 것 정도와 학교 다닐때 자바 문서 몇 개 번역해본 정도......

개인적으로는 공부도 할 겸 해서 RFC 문서를 하나 잡고 번역중이긴 한데, 이것도 안 한지 꽤 됐군요. ㅡ_ㅡ 혼자만 하다보니......

mazikonn의 이미지

원문

Creating a script

Each script is a plain text file containing commands to be executed by the
program (AutoHotkey.exe). A script may also contain hotkeys and hotstrings,
or even consist entirely of them. However, in the absence of hotkeys and
hotstrings, a script will perform its commands sequentially from top to
bottom the moment it is launched.

To create a new script:

    1. Open Windows Explorer and select a folder of your choice.
    2. Pull down the File menu and choose New >> AutoHotkey Script (or Text
    Document).
    3. Type a name for the file, ensuring that it ends in .ahk. Example:
    Test.ahk
    4. Right-click the file and choose Edit Script.
    5. On a new blank line, type the following:
    #z::Run www.google.com

The # means the Windows key, so the #z means holding down the Windows key
then pressing Z to activate a hotkey. The :: means that the subsequent
command should be executed whenever this hotkey is pressed, in this case to
go to the Google web site. To try out this script, continue as follows:

    1. Save and close the file.
    2. In Windows Explorer, double-click the script to launch it. A new tray
    icon appears.
    3. Hold down the Windows key and press Z. A web page opens in the
    default browser.
    4. To exit or edit the script, right click its tray icon.

Note: Multiple scripts can be running simultaneously, each with its own tray
icon.

역문

스크립트 작성하기

각각의 스크립트는 프로그램(AutoHotkey.exe)에 의해 실행될 명령어들을 포함하는
평범한 파일이다. 스크립트는 핫키(Hotkey)와 핫스트링(Hotstring)을 포함할 수도
있으며 혹은 그것들로만 구성될 수도 있다. 그러나 핫키와 핫스트링이 없으면
스크립트는 시작될 때 위에서부터 아래로 순차적으로 명령어들을 수행할 것이다.

새 스크립트를 작성하려면:

    1. 윈도우 익스플로어러를 열고 원하는 폴더를 선택한다.
    2. 파일 메뉴에서 New >> AutoHotkey script(또는 Text Document)를
    선택한다.
    3. .ahk 로 끝나는 파일 이름을 친다. 예: Test.ahk
    4. 파일을 우클릭하고 Edit Script를 선택한다.
    5. 새로운 빈줄에 다음을 친다:
	#z::Run www.google.com

#는 윈도우 키를 의미하므로 #z는 핫키를 동작시키기 위해서 윈도우 키를 누른
상태에서 Z를 눌러야 함을 의미한다. ::는 핫키가 눌려질 때마다 이후의 명령이
실행되어야 함을 의미한다. 예제의 경우 구글 웹사이트로 간다. 이 스크립트를
시험해 보려면 다음을 이어서 해라:

    1. 파일을 저장하고 종료한다.
    2. 스크립트를 시작하기 위해 윈도우 익스플로어러에서 스크립트를 더블클릭
    한다. 새로운 트레이 아이콘이 나타난다.
    3. 윈도우 키를 누른 상태에서 Z를 누른다. 새로운 웹 페이지가 기본
    브라우저에서 열린다.
    4. 스크립트를 종료하거나 편집하기 위해서는 그것의 트레이 아이콘을 우클릭
    한다.

주의: 다수의 스크립트가 각각의 트레이 아이콘을 가지고 동시에 실행될 수 있다.

처음이라서 그런지 짧은 분량임에도 불구하고 생각보다 시간이 많이 걸리네요. 차차 나아지겠죠. :) 가능한한 직역을 하면서 어색한 부분에 한해서 의역을 했습니다. 이렇게 하는 게 맞는 건지 잘 모르겠네요.

무엇보다도 단어의 매칭이 가장 고민되는 부분인데요 외래어로 간주될 수 있는 단어는 그냥 발음대로 표기했구요. 예) 스크립트, 웹 페이지, 등등 달랑 발음대로 표기하기에는 뭔가 좀 부족한 단어들은 괄호에 영문을 병기했습니다. 예) 핫키(Hotkey), 핫스트링(Hotstring)

launch와 같은 단어의 경우 어떤 식으로 번역해야 할까 고민을 좀 했는데 처음에는 그냥 execute와 같이 실행하다로 번역하다가 시작하다로 바꿨습니다. 어떤게 좋은지 잘 모르겠네요. note의 경우도 일단 주의라고 번역하기는 했는데 뭔가 좀 어색한 것 같기도 하고요.

이런 부분에 대해서 많은 분들이 피드백 주셨으면 좋겠고요 앞으로 통일성을 위해 하나씩 수정하고 수렴해 나가면 될 것 같습니다.

一切唯心造

espereto의 이미지

원문

Introduction
AutoHotkey is a free, open-source utility for Windows. With it, you can:

Automate almost anything by sending keystrokes and mouse clicks. You can write macros by hand or use the macro recorder. 
Create hotkeys for keyboard, joystick, and mouse. Virtually any key, button, or combination can become a hotkey. 
Expand abbreviations as you type them. For example, typing "btw" can automatically produce "by the way". 
Create custom data entry forms, user interfaces, and menu bars. See GUI for details. 
Remap keys and buttons on your keyboard, joystick, and mouse. 
Run existing AutoIt v2 scripts and enhance them with new capabilities. 
Convert any script into an EXE file that can be run on computers that don't have AutoHotkey installed. 
Getting started might be easier than you think. Check out the quick-start tutorial.

More about Hotkeys
AutoHotkey unleashes the full potential of your keyboard, joystick, and mouse. For example, in addition to the typical Control, Alt, and Shift modifiers, you can use the Windows key and the Capslock key as modifiers. In fact, you can make any key or mouse button act as a modifier. For these and other capabilities, see Advanced Hotkeys.

Other Features
Change the volume, mute, and other settings of any soundcard. 
Make any window transparent, always-on-top, or alter its shape. 
Use a joystick or keyboard as a mouse. 
Monitor your system. For example, close unwanted windows the moment they appear. 
Retrieve and change the clipboard's contents, including file names copied from an Explorer window. 
Disable or override Windows' own shortcut keys such as Win+E and Win+R. 
Alleviate RSI with substitutes for Alt-Tab (using keys, mouse wheel, or buttons). 
Customize the tray icon menu with your own icon, tooltip, menu items, and submenus. 
Display dialog boxes, tooltips, balloon tips, and popup menus to interact with the user. 
Perform scripted actions in response to system shutdown or logoff. 
Detect how long the user has been idle. For example, run CPU intensive tasks only when the user is away. 
Automate game actions by detecting pixel colors. 
Read, write, and parse text files more easily than in other languages. 
Perform operation(s) upon a set of files that match a wildcard pattern. 
Work with the registry and INI files. 

Limitations on Windows 95/98/Me: Some of the advanced features -- such as mouse button hotkeys and hotstrings -- are not available on Win9x.

Acknowledgements
A special thanks to Jonathan Bennett, whose generosity in releasing AutoIt v2 as free software in 1999 served as an inspiration and time-saver for myself and many others worldwide. In addition, many of AutoHotkey's enhancements to the AutoIt v2 command set, as well as the Window Spy and the script compiler, were adapted directly from the AutoIt v3 source code. So thanks to Jon and the other AutoIt authors for those as well.

Finally, AutoHotkey would not be what it is today without these other individuals.

번역문

소개
AutoHotKey는 윈도용의 자유, 오픈-소스 유틸리티이다. 이것으로, 다음과 같을 일을 할 수 있다.

키 입력과 마우스 클릭에 의한 무엇이든지 거의 모두 자동화할 수 있다. 당신은 직접 매크로를 작성할수도 있고, 매크로 레코더를 사용할 수도 있다.
키보드, 조이스틱, 마우스를 이용해 핫키를 만들 수 있다. 거의 모든 키나 버튼, 혹은 조합은 핫키가 될 수 있다.
당신이 입력한 약어가 확장될 수 있다. 예를 들어, "btw"를 입력하면 자동으로 "by the way"가 만들어질 수 있다.
맞춤형 데이터 입력 형식, 유저 인터페이스, 메뉴 바 등을 만들 수 있다. 자세한 건 GUI 부분을 보라.
키보드, 조이스틱, 마우스의 키들과 버튼들을 재배치(Remap)할 수 있다.
기존의 AutoIt v2 스크립트와 새로운 기능으로 강화된 스크립트를 실행할 수 있다.
AutoHotKey가 설치되지 않은 컴퓨터에서도 실행할 수 있도록 스크립트를 EXE 파일로 변환할 수 있다.
시작하는 것은 당신이 생각하는 것 보다 쉬울 것이다. quick-start tutorial을 보라.

Hotkey에 대해 더 자세히
AutoHotKey는 당신의 키보드, 조이스틱, 마우스의 모든 잠재적인 능력을 완벽하게 해방시킨다. 예를 들어,
Control, Alt, Shift 제어(modifier) 키를 치는 것은 물론, 당신은 Windows 키와 Capslock키도 제어 키 처럼 사용할 수 있다.
사실상, 당신은 어느 키나 혹은 마우스 버튼 입력도 제어 키처럼 만들 수 있다.
이러한 것들과 다른 능력들에 대해서는 고급 핫키(Advanced Hotkeys) 항목을 보라.

다른 기능

사운드 카드의 볼륨, 음소거, 그리고 다른 설정들을 변경할 수 있다.
어떤 윈도우도 투명하게 또는 항상위에 있게 만들거나 그 모양을 변경할 수 있다.
조이스틱과 키보드를 마우스처럼 쓸 수 있다.
시스템을 감시할 수 있다. 예를 들면, 원하지 않는 윈도들이 종료되는 순간 그것들이 다시 나타나게 할 수 있다.(?)
클립보드의 내용이나 탐색기 창에서 복사된 파일명을 바꾸거나 회복시킬 수 있다.
Win+E나 Win+R 같은 윈도우의 자체 단축키를 재정의하거나 사용할 수 없게 할 수 있다.
(키나 마우스 휠, 또는 버튼을 써서) Alt-Tab을 대신해 RSI(?)를 완화할 수 있다
당신의 아이콘, 툴팁, 메뉴 아이템과 서브 메뉴들로 사용자 정의 트레이 아이콘 메뉴를 구성할 수 있다.
다이얼로그 상자, 툴팁, 풍선도움말, 팝업 메뉴들을 사용자와 상호작용하도록 표시할 수 있다.
스크립트 액션에 응답해 시스템을 끄거나 로그오프 하도록 할 수 있다.(?)
사용자가 얼마나 오랫동안 아무것도 하지 않는지 감지할 수 있다. 예를 들어, 사용자가 자리를 비웠을때에만 CPU intensiv task들을 실행시킬 수 있다.
픽셀 색상을 탐지하는 것에 의해 게임 액션들을 자동화할 수 있다.
텍스트 파일들을 읽고 쓰고 분석하는 것이 다른 언어들보다 더 쉽다.
와일드카드 패턴에 일치되는 파일들의 셋으로 작업하는 것을 할 수 있다.
레지스트리와 INI파일을 다룰 수 있다.


Windows 95/98/Me에서의 제한사항: 마우스 버튼 핫키나 핫스트링 같은 고급 기능의 일부들은 Win9x에서 사용이 불가능하다.

감사의 말
AutoIt v2를 199년에 자유 소프트웨어로 릴리스하여 나 자신과 많은 전 세계의 다른이들에게 영감을 주고 시간을
절약시켜준 마음이 넓은 Jonathan Bennett에게 매우 감사드린다. 더불어, 그는 AutoHotkey를 강화시키기 위해
AutoIt v2 명령어 셋, 윈도 스파이와 스크립트 컴파일러, AutoIt v3 소스 코드롤 직접 개조하여 주었다.
Jon과 다른 AutoIt 저작자들에게 깊은 감사를 드린다.

마지막으로, AutoHotkey 다른 사람들 없이는 오늘날 존재하지 못했을 것이다.

매뉴얼의 가장 처음에 있는, 소개 부분을 번역해 보았습니다.
여기 저기 의역도 좀 되어 있고, 대충 번역해버린 부분도 있습니다. :) 잘못 번역한 것도 있을겁니다. 좀 이상하거나 잘못된 부분은 지적해 주시면 감사하겠습니다.

modifier key를 어떻게 번역해야 하나 고민하다, 제어 키로 번역해두었습니다.

espereto의 이미지

저와 제 친구 하나는 유니큐어라는 안티-바이러스 프로그램을 씁니다.

그러나, 평가판이어서 자동 업데이트가 안되기때문에, 매번 웹으로 수동 업데이트를 해 주어야 합니다.

그게 귀찮아서 -_- 이렇게 스크립트를 짜 봤습니다.

AutoHotkey의 컴파일 기능으로 EXE로 만들어서 친구에게 보내줬더니 좋아하더군요. :D

뭐, 파싱하는 부분은 복잡하게 짜기 귀찮아서 대강 짜 버렸습니다.

; Unicure Update Script by bnkim
; ver. 1.0
; 2005-06-11
; License : BSD License
; 지오트 사의 안티바이러스인 유니큐어 평가판 수동 업데이트를 웹브라우저로 매번 접속하여
; 직접 다운로드/실행해야하는 작업을 AutoHotkey 스크립트로 구현하였습니다.

RunUnicureUpdate()
{
	INIFile := "unicureupdate.ini"
	UpdateUrl := "http://www.geot.com/down/down_004.htm"
	RealUpdateUrl := "http://www.geot.com/down/"
	FindStartString := "<a href="
	FindEndString := ".exe"
	PathString := "/update/"	
	UpdateEXE := "unicureupdate2.exe"
	WorkFileName := "down.html"
	global INIFile

	IfExist, %INIFile%
	{
		INIRead, PrevUpdateEXE, %INIFile%, General, PrevUpdateFile
	}
	else
	{
		PrevUpdateEXE := ""
	}

	TitleText := "유니큐어 업데이트 1.0 by bkim"

	SplashTextOn, 320, 30, %TitleText%, 업데이트 준비중입니다.
	IfExist, %UpdateEXE%
	{
		FileDelete, %UpdateEXE%
	}
	IfExist, %WorkFileName%
	{
		FileDelete, %WorkFileName%
	}

	SplashTextOn, 320, 30, %TitleText%, 지오트 웹싸이트에 접속중입니다.
	URLDownloadToFile, %UpdateUrl%, %WorkFileName%
	IfExist, %WorkFileName%
	{
		SplashTextOn, 320, 30, %TitleText%m, 수동 업데이트 파일을 분석중입니다.
		FileRead, HTMLSourceString, %WorkFileName%
		FileDelete, %WorkFileName%
	}
	else
	{
		SplashTextOn, 320, 30, %TitleText%, 지오트 웹싸이트 접속 실패
		Sleep, 1000
		SplashTextOff
		Return
	}

	RealUrlPosStart := InStr(HTMLSourceString, FindStartString)
	RealUrlPosEnd := InStr(HTMLSourceString, FindEndString)
	len := StrLen(FindStartString)
	RealUrlPosStart += %len%
	RealUrlPosStart += 1
	len := StrLen(FindEndString)
	RealUrlPosEnd += %len%
	RealUrlPosEnd += 1
	RealUrlLength := RealUrlPosEnd - RealUrlPosStart - 1
	StringMid, RealUrlString, HTMLSourceString, RealUrlPosStart, RealUrlLength

	RealUpdateUrl = %RealUpdateUrl%%RealUrlString%

	;MsgBox, %len%  %RealUrlPosStart% ~ %RealUrlPosEnd% Length : %RealUrlLength% : %RealUpdateUrl%
	SplashTextOn, 320, 30, %TitleText%, 수동 업데이트 파일을 받는 중입니다.
	pos := InStr(RealUpdateUrl, PathString)
	pos := pos + StrLen(PathString)
	len := StrLen(RealUpdateUrl) - pos + 1

	StringMid, UpdateEXE, RealUpdateUrl, %pos%, %len%

	IfEqual, PrevUpdateEXE, %UpdateEXE%
	{
		SplashTextOn, 320, 30, %TitleText%, 이미 업데이트 되어 있습니다.
		Sleep, 1000
		SplashTextOff
		Return
	}

	URLDownloadToFile, %RealUpdateUrl%, %UpdateEXE%

	IfExist, %UpdateEXE%
	{
		SplashTextOn, 320, 30, %TitleText%, 수동 업데이트 파일을 실행합니다.
		Sleep, 100
		SplashTextOff
		RunWait, %UpdateEXE%
		SplashTextOn, 320, 30, %TitleText%, 완료되었습니다.
		FileDelete, %UpdateEXE%
		INIWrite, %UpdateEXE%, %INIFile%, General, PrevUpdateFile
	}
	else
	{
		SplashTextOn, 320, 30, %TitleText%, 수동 업데이트 파일 다운로드 실패!
	}


	Sleep, 1000
	SplashTextOff
}


RunUnicureUpdate()

espereto의 이미지

원문

Launching a program or document
The Run command is used to launch a program, document, URL, or shortcut, as in the following examples:
Run, Notepad
Run, C:\My Documents\Address List.doc
Run, C:\My Documents\My Shortcut.lnk
Run, www.yahoo.com
Run, mailto:someone@anywhere.com

A hotkey can be assigned to any of the above examples by including a hotkey label. In the first example below, the assigned hotkey is Win+N, while in the second it is Control+Alt+C:
#n::Run, Notepad
^!c::Run, calc.exe

The above examples are known as single-line hotkeys because each consists of only one command. To have more than one command executed by a hotkey, put the first line beneath the hotkey definition and make the last line a return. For example:
#n::
Run, http://www.google.com
Run, Notepad.exe
return

If the program or document to be run is not integrated with the system, specify its full path to get it to launch:
Run, %ProgramFiles%\Winamp\Winamp.exe

In the above example, %ProgramFiles% is an environment variable maintained by the operating system. By using it rather than something like C:\Program Files, the script is made more portable, meaning that it would be more likely to run on other computers. 

To have the script wait for the program or document to close before continuing, use RunWait instead of Run. In this example, the MsgBox command will not execute until after the user closes Notepad:
RunWait, Notepad
MsgBox, The user has finished (Notepad has been closed).

To learn more about launching programs -- such as launching them in a minimized/maximized/hidden state, specifying a working directory, passing parameters, using system verbs, and discovering a program's exit code -- click here.

번역문

프로그램이나 문서 실행하기
Run 명령어는 아래 예제들처럼 프로그램, 문서, URL, 또는 단축아이콘을 실행하는 데 사용된다.
Run, Notepad
Run, C:\My Documents\Address List.doc
Run, C:\My Documents\My Shortcut.lnk
Run, www.yahoo.com
Run, mailto:someone@anywhere.com

핫키는 이전 예제들의 어느 것이든 핫키 레이블을 포함시킴으로써 할당시킬 수 있다. 먼저, 처음 예제에서, 할당된 핫키는 Win+N이고, 두 번째에서는 Control+Alt+C이다.
#n::Run, Notepad
^!c::Run, calc.exe

이전 예제들은 알다시피 단지 하나의 명령으로 구성된 한 줄 핫키들이다. 하나의 핫 키에 하나 이상의 명령을 실행하도록 하려면, 첫 줄은 핫키 정의를 넣고 마지막 줄은 return을 넣는다. 예제:
#n::
Run, http://www.google.com
Run, Notepad.exe
return

만일 프로그램이나 문서가 시스템에 통합되지 않고(*역자주*시스템의 환경에 상관없이) 실행되도록 하려면, 실행 가능한 완전한 경로를 명기해야한다.
Run, %ProgramFiles%\Winamp\Winamp.exe

위의 예제에서, %ProgramFiles%는 운용되는 시스템에 의해 관리되는 환경 변수이다. 이것을 사용하는 것이 C:\Program Files같은 것을 사용하는 것 보다 스크립트를 다른 컴퓨터에서 실행하는 것 같은 일을 하는 데 있어 보다 이식성있게 만든다.

Run 대신 RunWait를 사용하여 스크립트는 계속 실행되기 전에 프로그램이나 문서가 종료(close)되는 것을 기다릴 수 있다. 이 예제는, MsgBox 명령을 사용자가 Notepad를 닫기 전에는 실행하지 않는다.
RunWait, Notepad
MsgBox, The user has finished (Notepad has been closed).

프로그램 실행에 관한 더 많은 것 -- 최소화/최대화/숨겨진 상태로 실행하고, 작업 디렉토리를 정하고, 파라미터는 넘겨주고, 시스템 verbs(?)를 사용하고, 프로그램의 종료 코드를 받는 것과 같은 -- 을 배우고자 한다면 여기를 클릭하라. (*주*Tutorial - Launch a program or document (continued) 항목으로 연결되게 되어 있음.)

좀 쉽지 않은 부분들이 있었으나, 나름대로 의역을...... :)

짧으니까 그래도 금방 끝나는군요. 30분 정도 걸린 듯 합니다.

espereto의 이미지

번역을 하면서 일부 단어들은 그냥 소리나는 대로 번역을 하고 있거나, 좀 어색한 단어로 번역을 하거나 합니다.
번역 당시에 딱히 적당한 단어가 떠오르지 않거나 마땅한 단어가 없을 경우인데요,
보다 나은 번역을 위해, 그리고 통일성을 위해 그러한 단어들을 아래에 정리하고 보다 알맞은 단어를 찾아보고자 합니다.

우선은 제가 생각하는 뜻을 적도록 하겠습니다.
적절한 의견 주시면 반영하도록 하겠습니다.

    Hotkey / 단축키 또는 단축글쇠, 개인적으로는 단축키가 좀 더 익숙한 말입니다. 단축글쇠가 좀 더 올바르지 않을까 생각은 하고 있습니다만......
    HotString / 단축문자열
    Launch / 시작 또는 실행, 개인적으로는 실행이 좀 더 알맞은 단어라 생각됩니다.
    Remap / 재배치 또는 재정의, 재배치 보다는 재정의가 좀 더 알맞을 경우가 있는 듯 합니다.
    Modifier Key / 제어 키 또는 보조 키, 한참 고민했던 말입니다. 수정 키 는 아무래도 좀 어색하고 제어 키나 보조 키 정도가 적당할 듯 합니다. 저는 현재 제어 키로 쓰고 있습니다.

[/]
espereto의 이미지

원문

Sending keystrokes and mouse clicks
Keystrokes are sent to the active (foremost) window by using the Send command. In the following example, Win+S becomes a hotkey to type a signature. Be sure that a window such as an editor or draft e-mail message is active before pressing the hotkey:
#s::
Send, Sincerely,{enter}John Smith
return

In the above example, all characters are sent literally except {enter}, which results in a simulated press of the Enter key. The next example illustrates some of the other commonly used special characters:
Send, ^c!{tab}pasted:^v

The above example sends a Control+C followed by an Alt+Tab followed by the string "pasted:" followed by a Control+V. See the Send command for a complete list of special characters and keys. 

Mouse Clicks: To send a mouse click to a window it is first necessary to determine the X & Y coordinates where the click should occur. This can be done with either AutoScriptWriter or Window Spy, which are included with AutoHotkey. The following steps apply to the Window Spy method:

Launch Window Spy from the program's tray-icon menu or the Start Menu. 
Activate the window of interest either by clicking its title bar, alt-tabbing, or other means (Window Spy will stay "always on top" by design). 
Move the mouse cursor to the desired position in the target window and write down the mouse coordinates displayed by Window Spy (or press Shift-Alt-Tab to activate Window Spy so that the "frozen" coordinates can be copied and pasted). 
Use the coordinates discovered above with the MouseClick command as in this example, which clicks the left mouse button:
MouseClick, left, 112, 223 
To move the mouse without clicking, use MouseMove. To drag the mouse, use MouseClickDrag.

번역문

키 입력(keystrokes:키를 치다의 의미이므로 키 입력으로 의역합니다)과 마우스 클릭 보내기
키 입력은 Send 명령을 사용함으로써 활성화 된 (맨 앞의) 윈도우로 보내진다. 다음 예제에서, Win+S는 서명을 치는 핫키가 된다.  물론, 편집기 혹은 이메일 메시지 초안(draft) 같은 윈도우가 핫키를 누르기 전에 활성화 되어야 한다.
#s::
Send, Sincerely,{enter}John Smith
return

위의 예제에서, {enter} 외의 모든 문자들이 글자 그대로 보내어지며, {enter}는 Enter 키를 누르는 것을 흉내낸 결과가 된다. 다음 예제는 다른 일반적으로 사용되는 특수 문자들 중 일부를 설명한다.
Send, ^c!{tab}pasted:^v

위 예제는 Control+C 이후 Alt+Tab을, 그리고 그 후에는 문자열 "pasted:"를, 그 후에는 Control+V를 보낸다. 특수 문자들과 키들의 완전한 목록은 Send 명령 항목을 보라.

마우스 클릭: 마우스 클릭을 윈도우로 보내는 것은 먼저 클릭이 발생할 X와 Y좌표의 한계를 정하는 것이 필요하다. 이것은 AutoHotkey에 포함된 AutoScriptWriter나 Window Spy 둘 중 하나로 할 수 있다. 다음 순서로 Window Spy의 기능을 적용한다.

프로그램의 트레이-아이콘 메뉴나 시작 메뉴에서 Window Spy를 실행한다.
타이틀바를 클릭하거나 alt-tab을 이용하거나 혹은 다른 것들을 써서 관심있는 윈도우를 활성화시킨다. (Window Spy는 "항상 맨 위에" 머무르도록 디자인 되었다.)
마우스 커서를 타겟 윈도의 원하는 지점으로 이동시키고, Window Spy에 표시되는 마우스 좌표를 기록한다. (또는 Shift-Alt-Tab을 눌러 Window Spy를 활성화시키면 "동결된" 좌표를 복사하고 붙일 수 있다.)
알아낸 좌표를 왼쪽 마우스 버튼을 클릭하는 다음 예제처럼 MouseClick 명령에서 사용한다.
MouseClick, left, 112, 223 
espereto의 이미지

간단하게, 멀티 마우스 포인터를 흉내낸 프로그램입니다.
http://kldp.org/node/56268 이 글타래를 간만에 봤다가, 멀티포인터 마우스가 하나 소개된 게 있길래 흉내를 좀 내 봤습니다.
boMultiMouseCnt의 초기값은 스크립트가 위치한 곳의 BoMultiMouse.ini에서 MaxMouseCount 값을 읽어서 변경하는데,
3개까지는 테스트 해 봤습니다. 그 이상도 동작은 잘 되겠죠. ㅡ.ㅡ;

Ctrl + Mouse의 Forward 버튼을 누르면, 현재 위치를 저장해두고 기본 포인터 인덱스를 증가시킨다음, 해당 인덱스의 위치로 마우스 포인터를 옮깁니다.
버그가 조금 있지만 디버깅이 귀찮아서 동작에는 무리가 없도록만 수정해서 올립니다.

boMultiMouseCnt:=2
boMultiMouseInit:=0
boMultiMouseCurIdx:=0
IfNotExist, %A_WorkingDir%\BoMultiMouse.ini
{
IniWrite, 2, %A_WorkingDir%\BoMultiMouse.ini, BoMultiMouse, MaxMouseCount
}
else
{
IniRead, boMultiMouseCnt, %A_WorkingDir%\BoMultiMouse.ini, BoMultiMouse, MaxMouseCount, 2
}

Loop, %boMultiMouseCnt%
{
boMultiMousePos%A_Index%X=-1
boMultiMousePos%A_Index%Y=-1
}

ChangeCurrentMouse()

return

BoMultiMouseInit()
{
global boMultiMouseInit
global boMultiMousePos
boMultiMouseInit:=1
SplashTextOn, 200, 20, Bo-Multi Mouse Pointer,Start!
Sleep, 1000
SplashTextOff
}

ChangeCurrentMouse()
{
global boMultiMouseCnt
global boMultiMouseInit
global boMultiMouseCurIdx
; Loop, %boMultiMouseCnt%
; {
; global boMultiMousePos%A_Index%X
; global boMultiMousePos%A_Index%Y
; }
CoordMode, Mouse, Screen
; if boMultiMouseInit = 0
; BoMultiMouseInit()

; Store the position to current Mouse Info
MouseGetPos, tempX, tempY
boMultiMousePos%boMultiMouseCurIdx%X:=tempX
boMultiMousePos%boMultiMouseCurIdx%Y:=tempY
;ListVars

boMultiMouseCurIdx++
if boMultiMouseCurIdx > %boMultiMouseCnt%
boMultiMouseCurIdx:=1

; Load the position from previous Mouse Info
if boMultiMousePos%boMultiMouseCurIdx%X = -1
{
;boMultiMousePos%boMultiMouseCurIdx%X:=tempX
;boMultiMousePos%boMultiMouseCurIdx%Y:=tempY
}
else
{
tempX:=boMultiMousePos%boMultiMouseCurIdx%X
tempY:=boMultiMousePos%boMultiMouseCurIdx%Y
MouseMove, %tempX%, %tempY%, 0
}
;ListVars
}

^XButton2::
; Toggle the current mouse

ChangeCurrentMouse()
return

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.