소프트웨어 오토핫키를 사용하여 단축키로 프로그램 실행하기

2017.06.19 18:33

미유키로즈 조회:2446 추천:9

 

프로그램을 가장 빨리 실행하는 방법은 역시 단축키인데 오토핫키는 단축키로 프로그램을 실행하는 기능 외에 여러 가지 기능이 존재합니다.

 

단 기존 프로그램들처럼 마우스로 클릭해서 설정하는 프로그램이 아니고 기본적으론 메모장에 스크립트를 입력하는 방식이라 프로그래머가

 

코딩하는 것과 비슷한데 컴퓨터를 잘 모르는 사용자는 오토핫키의 복잡한 스크립트만 보고 지레 겁 먹고 사용하기 어려울 수도 있습니다.

 

하지만 오토핫키의 기본 스크립트 정도는 비프로그래머도 금방 익히고 응용하여 사용할 수 있습니다.

 

 

 

https://autohotkey.com/download

 

AutoHotkey

 

 

오토핫키를 공식 홈페이지에서 다운받아서 사용하는 경우 다른 프로그램들과 달리 트레이 아이콘은 바로 생성되지 않고

 

아무런 반응없이 달랑 메뉴얼만 떠서 초보자의 경우 잘못 설치한 줄 알고 설치 반복하다가

 

검색 몇 번 하고 어떻게 할 지 잘 모르겠다 그냥 오토핫키를 삭제하는 경우가 있습니다.

 

이유는 스크립트 파일에 단축키 관련 스크립트를 적지 않았기 때문입니다.-_-

 

공식 홈페이지의 스트립트 파일에는 메뉴얼 부분만 입력되어 있기 때문에 오토핫키를 실행하면 오토핫키 영문 메뉴얼이 실행되는 것입니다.

 

 

오토핫키를 사용하기 쉽게 파일을 올립니다.

 

AU3_Spy.exe

 

AU3_Spy는 특정 프로그램의 창 제목과 클래스,마우스 좌표등을 조회할 수 있는 프로그램입니다.

 

오토핫키 설치버전에는 내장되어 있고 무설치 버전에는 AHK 확장자로 되어 있는데 무설치판은 설치판에 내장되어 있는 프로그램을

 

사용하는 것이 낫습니다.아이콘도 더 이쁘고 헷갈리지 않습니다.

 

AutoHotkey.exe

 

오토핫키 실행파일입니다.

 

AutoHotkey.Ahk


오토핫키 스크립트 파일입니다.AHK라는 확장자로 구성되어 있습니다.

 

 

위 3개의 파일만 있으면 오토핫키 사용하는데 지장은 없습니다.실행파일을 실행하면 트레이메뉴에 초록색 바탕의 H 문자로

 

오토핫키 아이콘이 생성됩니다.

 

오토핫키 우클릭 메뉴.png

 

그 아이콘을 우클릭하면 사진처럼 메뉴가 있습니다.

 

Window Spy - 위에서 설명한 AU3_Spy.exe 프로그램을 탐색기에서 찾지 않고 바로 실행해주는 메뉴입니다.

 

Reload This Script - 메모장에 스크립트를 적기만 하면 해당 스크립트가 바로 실행되지는 않죠..저장후에 이 메뉴를 클릭해야 새로 반영됩니다.

 

Edit This Script - 위에서 설명한 AutoHotkey.Ahk 프로그램을 탐색기에서 찾지 않고 메모장으로 바로 열어주는 메뉴입니다.

 

Suspend Hotkeys - 오토핫키의 기능을 잠시 중지합니다.오토핫키 스크립트의 내용은 맞지만 실수로 짜서 컴퓨터를 사용할 수 없게 됐을 때

 

예를 들면 그냥 마우스 클릭에 그림판 실행한다라는 명령을 지정한 경우 컴퓨터로 마우스 클릭할 때 마다 그림판이 실행되겠죠 -_-

 

혹은 공용 컴퓨터에서 오토핫키를 모르는 다른 사용자한테 방해하지 않기 위해서 등의 이유로 사용합니다.

 

물론 위의 메뉴들도 오토핫키 아이콘을 우클릭하고 해당 메뉴를 클릭할 필요없이 단축키로 한 번에 조작할 수 있습니다.

 

그건 밑에서 따로 설명합니다.

 

 

 

AutoHotkey.Ahk 파일을 메모장으로 보면

 

#Z::run Taskmgr ; Win+Z키를 누르면 작업관리자가 실행

 

단 한 줄만 있습니다.

 

 

오토핫키 기본 스크립트.png

 

 

1+1=2이고 2+2=4인데 이걸 컴퓨터가 알아듣고 실행할려면 컴퓨터가 이해할 수 있는 명령어를 입력해줘야합니다.

 

#Z::run Taskmgr는 오토핫키를 통해 컴퓨터가 알아듣고 그대로 실행해주는 스크립트입니다.

 

사진 보면 빨간 체크 박스로 ; 적혀 있고 뒤에 설명이 있는데 주석입니다.; 뒤에 있는건 실제론 실행되지 않습니다.

 

주석은 일반적으로 이 스크립트가 무슨 기능을 하는 스크립트인지 기록하기 위해서 사용하지만

 

나중에 오토핫키에 입력해둔 스크립트가 많아지면 다시 참고하거나 수정할 경우가 생기는데 메모장에서 해당 스크립트를

 

바로 검색해서 찾기 쉽게 사용하기 위해서 혹은 특정 스크립트를 입력하기만 하고 실제로는 사용하지 않거나

 

여러 줄의 스크립트를 한 줄씩 테스트할 때에도 사용합니다.

 

 

 

만약에

 

; #Z::run Taskmgr 

 

이렇게 제일 앞에 ;를 입력하면 해당 스크립트는 실제로는 실행이 되지 않습니다.

 

 

단축키로 프로그램을 실행하는 기본 문법은 단축키::run 프로그램 경로 및 실행 파일 or 사이트 주소입니다.

 

 

 

#은 오토핫키에서 사용하는 약어 표시이고 Win 키를 말합니다.

 

^은 Ctrl 키,+는 Shift 키,!는 Alt키입니다.

 

Run은 실행한다는 뜻이죠.

 

Taskmgr은 작업관리자 실행파일 이름입니다.환경변수에 등록되어 있기 때문에 실행창에서 입력하는 것처럼 프로그램 경로 입력은 필요없죠..

 

즉 #Z키를 누르면 Taskmgr가 실행된다라는 뜻입니다.

 

생각보다 단축키로 프로그램을 실행하는 방법은 쉽습니다.

 

 

 

#Z::run Taskmgr ; Win+Z키를 누르면 작업관리자가 실행

 

작업관리자를 누를 때 Ctrl + Shift+ ESC키를 눌러서 하는 것보다 편하죠. 

 

참고로 스크립트를 잘못 적고 실행하면 에러 메세지를 표시하면서 친절하게 알려줍니다.

 

대부분 단축키를 잘못 설정하거나 중복으로 설정하거나 메모장 라인수(몇 번 째 줄)의 문법이 틀렸다는 메세지가 뜹니다.

 

메모장에서 보기 메뉴를 클릭하고 상태 표시줄을 클릭하면 메모장 밑에 라인수가 표시됩니다.

 

 

 

위 Run과 비슷한걸로 Send도 있습니다.기본 문법은 단축키::Send 단축키입니다.

 

여기서 왼쪽 단축키는 사용자가 직접 누르는 단축키이고 Send후의 단축키는 컴퓨터의 기존 단축키죠.

 

쉽게 이야기해서 키맵핑(키변환)입니다.

 

 

 

 

#z::send ^+{ESC} ; Win+Z키를 누르면 Ctrl + Shift+ ESC를 누릅니다.

 

위에서 약어 부분을 설명했으니 Ctrl + Shift+ ESC를 ^+{ESC}로 표시한다는 것을 이해할 수 있습니다.

 

단 특수키에는 {}를 입력해준다는 것을 잊지 마세요.

 

즉 #Z::run Taskmgr와 #z::send ^+{ESC}는 결과는 같은 겁니다.

 

 

 

위에서 설명한것만으로 쉽게 응용할 수 있습니다.

 

예제는 설명을 위한 것이고 단축키는 본인이 편한걸로 설정하면 됩니다.

 

#p::run mspaint ; Win+P키를 누르면 그림판 실행

 

#c::run cmd ; Win+C키를 누르면 명령 프롬프트 실행

 

^+c::run control ; Ctrl+ Shift + C키를 누르면 제어판 실행

 

!c::run calc ; Alt + C키를 누르면 계산기 실행 

 

^+n::run https://www.naver.com ; Ctrl+ Shift + n키를 누르면 네이버 접속

 

^+g::run https://www.google.com ; Ctrl+ Shift + g키를 누르면 구글에 접속

 

#E::run C:\Windows\explorer.exe D: ; 탐색기 단축키 눌렀을 때 D 드라이브 바로 뜨게함

 

^b::run taskkill /f /im baidunetdisk.exe,,hide  ; Ctrl + b키로 바이두 프로그램 한 번에 종료합니다.

 

taskkill은 윈도우에 내장된 명령어로 프로세스를 종료하는 명령어입니다.실행중인 프로그램을 종료한다고 생각하면 됩니다.

 

/f는 강제 종료 /im은 이미지 이름으로 종료 baidunetdisk.exe는 바이두 실행 파일 이름 ,,hide는 도스창 숨기기

 

바이두 같은 프로그램은 Alt + F4 키를 누르면 바로 종료되는게 아니고 트레이 아이콘으로 숨는데 단축키를 사용하여 한 번에 종료할 수 있습니다.

 

 

 

F4::send ^+T ; F4키를 누르면 Ctrl+ Shift + T를 누릅니다.즉 탭 복원

 

 

^Space::send {vk15} ; Ctrl + Space 키를 누르면 한영키 전환

 

+Space::send {vk19} ; Shift + Space 키를 누르면 한자키 전환

 

F1::send 안녕하세요 ; 빈 칸에서 F1키를 누르면 안녕하세요라는 단어가 자동 입력

 

F2::send ㈜ ; 빈 칸에서 F2키를 누르면 ㈜라는 단어가 자동 입력

 

F1::send ^C ; F1키를 누르면 복사

 

F2::send ^X ; F2키를 누르면 잘라내기

 

F3::send ^V ; F3키를 누르면 붙여넣기

 

Ctrl::Alt

Alt::Ctrl

 

Ctrl과 Alt키의 역할을 변경

 

 

XButton2::Send !{Left} ; 사이드 2버튼에 Alt + 왼쪽 화살표키 지정, 즉 뒤로 가기 


XButton1::Send ^w ; 사이드 1버튼에 Ctrl + W키 지정,즉 탭 종료

 

F3::Send MButton ; F3키를 누르면 휠클릭을 합니다.

 

 

참고

 

XButton1

XButton2

LButton

MButton

RButton

WheelUp ; 휠 버튼을 위로 돌립니다.

WheelDown ; 휠 버튼을 아래로 돌립니다.

{F1} - {F12} 
{ENTER} {SPACE} {TAB}
{ESCAPE} or {ESC}  
{BACKSPACE} or {BS}
{DELETE} or {DEL} {INSERT} or {INS}
{UP} {DOWN} {LEFT} {RIGHT} 
{HOME} {END} {PGUP} {PGDN} 
{APPSKEY} or +{F10} ; 마우스로 우클릭시 나오는 메뉴의 단축키
{PRINTSCREEN} {CtrlBreak} {Pause}
{LALT} {RALT} {LCTRL} {RCTRL} {LSHIFT} {RSHIFT} {LWIN} {RWIN} ; 양쪽에 둘 다 있는 키로 한 키만 적용할 때 사용합니다.
{vk15} or {vk15sc138} ; 한영키

{vk19} or {vk19sc11d} ; 한자키 
{CAPSLOCK} {ScrollLock} {NumLock} 
{Numpad0} - {Numpad9} 
{NumpadIns} {NumpadHome} {NumpadEnd} {NumpadPgUp} {NumpadPgDn}

{NumpadUp}{NumpadDown}{NumpadLeft}{NumpadRight}{NumpadEnter}
{NumpadDiv}  ; Num LK키의 /
{NumpadAdd} ;Num LK키의 +
{NumpadSub} ; Num LK키의 -
{NumpadDel}  ; Num LK키가 On일 때의 Del
{NumpadDot}  ;Num LK키가 Off일 때의 .

 

엄청 많지만 실제로 거의 사용하는건 A-Z,1-0 , F1 - F12 , Win , Ctrl , Shift , Alt , 정도입니다.

 

 

 

 

 

 

 

오토핫키를 이용하여 단축키로 컴퓨터를 재부팅하거나 종료할 수 있습니다.

 

 

Shutdown, 0 ; 로그오프
Shutdown, 1 ; 종료
Shutdown, 2 ; 재부팅
Shutdown, 4 ; 강제 로그오프
Shutdown, 5 ; 강제 종료
Shutdown, 6 ; 강제 재부팅
run rundll32.exe powrprof.dll SetSuspendState ; 절전 모드 or 최대 절전 모드

 

 

F1::Shutdown, 5 ; F1키를 누르면 강제 종료

F2::run rundll32.exe powrprof.dll SetSuspendState ; F2키를 누르면 절전 모드 진입 

 

 

절전 모드 진입시 최대 절전 모드가 되는 것을 막을려면 명령프롬프트(관리자)에서

 

한 번만 다음 명령어를 입력,실행주면 됩니다.

 

powercfg -hibernate off

 

 

반대로 최대 절전 모드가 필요한 경우에는 powercfg -hibernate on를 다시 입력합니다.

 

 

 

 

 

 

 

대기 시간 및 스크립트 종료 스크립트

 

 

#P:: ; Win+P키를 누르면
run mspaint ; 그림판을 실행합니다.
Sleep 1000 ; 1초후에
run notepad ; 메모장을 실행합니다.
Sleep 5000 ; 5초후에
run https://www.naver.com ; 네이버에 접속합니다.
return ; 종료

 

 

Sleep 1000은 약 1초를 의미합니다.프로그램을 연속으로 바로 실행할 때는 대기 시간을 꼭 입력할 필요는 없습니다.

 

보통은 프로그램 실행보다는 매크로에 더 많이 씁니다.

 

Return은 여러 줄의 스크립트 입력시 꼭 필요한 것으로 마지막에 꼭 입력해야합니다.

 

만약에 입력하지 않으면 다음 줄에 입력되어 있는 스크립트가 자동으로 실행되어 원치않는 결과가 나올 수 있습니다.

 

 

Return는 스크립트 종료하는 것이니 중간에 아무 내용이 없으면 특정 키를 비활성화시킬 수 있습니다.

 

 

 

F1::return ; F1키를 비활성화시킴

 

단 조합키도 적용됩니다.Win 키를 비활성하면 Win 키를 이용한 다른 윈도우 단축키도 실행되지 않습니다.Win + L 키를 제외하면요.

 

그런데 저렇게 사용하면 F1키를 조합한 단축키를 사용하지 못 해서 나중에 불편한 경우가 생길 수 있습니다.스크립트를 지우고 Reload하면 되지만

 

불편하죠.

 

 

^1::  ; Ctrl + 1을 누르면 비활성화,다시 누르면 활성화
toggle := !toggle 
return 
#if toggle
LWin::Return  ; 왼쪽 Win키를 비활성화시킨다.
F1::Return ; F1키를 비활성화시킨다.
#if

 

 

프로그래머가 아닌 이상 스크립트의 내용을 전부 이해할 필요는 없습니다.

 

초보자는 이렇게 입력해서 사용하면 저렇게 사용된다만 알면 됩니다.

 

#if toggle와 #if 사이에 비활성화시킬 키를 단축키::Return 문법으로 입력해주면 됩니다.

 

 

 

 

 

:*:텍스트::자동으로 변경할 텍스트 ; 빈 칸에서 약어를 입력하면 등록된 텍스트로 자동으로 변경합니다.

 

핫스트링 기능입니다.상용구는 많이 등록하면 외우기 어렵기 때문에 핫스트링이 낫습니다.

 

:*:th.::스프트웨어 ; 빈 칸에서 th.를 입력하면 소프트웨어란 텍스트로 자동으로 변경합니다.

 

th가 아닌 th.인 이유는 th를 타이핑하면 소프트웨어로 바로 변경되니 thx라는 글자를 입력하지 못 하게 됩니다.그것을 방지하기 위합니다.

 

th. 대신 th> 이런 식으로 해도 되죠.

 

 

단 오토핫키에서 :*:텍스트:: 부분의 텍스트는 한글 입력해서 사용하면 에러가 나기 때문에 편법을 사용합니다.

 

:*:dks.::안녕하세요 ; 빈 칸에서 dks.를 입력하면 안녕하세요란 텍스트로 자동으로 변경합니다.

 

안을 영타로 치면 dks가 되죠.이렇게 사용하면 키보드 상태가 한글이든 영문이든 바로 변경해줍니다.

 

즉 dks. or 안.을 입력하면 안녕하세요로 바로 변경된다는 뜻입니다.

 

 

 

 

 

아까 설명했던 오토핫키 우클릭 메뉴도 단축키로 조작할 수 있습니다.

 

 

Windows Spy는 Run 명령어로 그대로 사용하면 됩니다.

 

#A::run c:\AU3_Spy.exe  ; Win +A키를 누르면 c:\AU3_Spy.exe를 실행합니다.

 

Suspend ; 오토핫키의 작동을 멈춥니다.

Edit ; AHK 파일을 바로 엽니다.

Reload ; 스크립트를 자동으로 읽습니다.

 

 

#s::Suspend  ; Win +S키를 누르면 오토핫키의 작동을 멈춥니다.

 

Edit와 Reload는 다른 방법으로 사용합니다.

 

 

 

 

AU3_Spy.exe를 실행하고 특정 프로그램을 클릭하면 창 제목 및 클래스 , 마우스 좌표를 알 수 있습니다.

 

참고로 오토핫키로 프로그램의 창을 조작하는 명령어는 여러가지인데 

 

프로그램 실행과 관련되어 있고 자주 사용하는 명령어로

 

WinMinimize A ; 현재창을 최소화시킵니다.
WinRestore A ; 현재창을 이전 크기로 만듭니다.
WinMaximize A ; 현재창을 최대화시킵니다.
winactivate ; 해당 창을 활성화시킵니다.
#ifWinActive ; 해당 창 및 프로그램에서만 실행합니다.
WinWaitActive ; 해당 프로그램의 실행을 기다립니다.
ifwinexist ; 창의 참,거짓(실행중이면 , 아니면 )

winmove ; 해당 창 크기 및 위치를 조절합니다.

 

정도 씁니다.예제를 통해서 어떻게 사용하는지 살펴봅시다.

 

 

오토핫키 창 제목.png

 

AutoHotkey.ahk 파일을 메모장으로 열고 Au3_Spy로 클릭해보면 사진처럼 창 제목이 표시됩니다.

 

탐색기에서 확장자가 숨김 상태이면 확장자는 안 보이고 다르게 표시됩니다.

 

오토핫키 창 클래스.png

 

아까처럼 Au3_Spy로 특정 프로그램을 클릭해보면 창 제목 밑에는 창 클래스가 표시됩니다.

 

 

ifwinexist 창 제목 or 창 클래스

{

조건이 맞을 때 원하는 스크립트를 적으면 됩니다.즉 참

}

else ; 분기

{

조건이 아닐 때 원하는 스크립트를 적으면 됩니다.즉 거짓

return

 

좀 복잡해보이지만 별거 아닙니다.이제 창 제목이나 창 클래스를 이용하여

 

특정 창 제목이나 특정 창 프로그램에서만 실행되는 단축키를 만들어보겠습니다.

 


 

+^D:: ; shift + ctrl + d키를 누르면 
ifwinexist ahk_class PotPlayer64 ; 다음팟플레이어가 실행중이면 

winactivate ; 해당 창을 활성화시킵니다.

else ; 다음팟 플레이어가 실행중이 아니면

Run C:\Program Files\DAUM\PotPlayer\PotPlayer64.exe ; 다음팟플레이어를 실행해서 
sleep 500 ; 0.5초후에 
winactivate ; 해당 창을 활성화시킵니다.

return 

 

 

즉 Win + 숫자키를 이용하여 작업표시줄에 고정된 프로그램을 실행하고 활성화까지 할 수 있는 기능을 구현한 것입니다.

 

마우스 사용자는 상관없지만 키보드 사용자의 경우 

 

#p::run mspaint

 

이렇게 한 줄로 사용하는 것보다는 복잡하지만 위의 스크립트가 낫죠

 

 

 

 

#ifWinActive 창 제목 or 창 클래스

스크립트 내용

Return

#ifWinActive

 

return 다음에

#ifWinActive로도 마무리해줘야 합니다.

 

 

 

Alt + F4키 대신 휠버튼으로 특정 프로그램을 종료하는 방법입니다.

 

 

#ifWinActive ahk_class MSPaintApp ; 그림판에서 
 MButton::send !{F4} ; 휠버튼을 클릭하면 그림판을 종료합니다.
#ifWinActive ahk_class Notepad ; 메모장에서 
 MButton::send !{F4} ; 휠버튼을 클릭하면 메모장을 종료합니다. 
#ifWinActive ahk_class TaskManagerWindow ; 작업관리자에서 
 MButton::send !{F4} ; 휠버튼을 클릭하면 작업관리자를 종료합니다.
#ifWinActive 모든 제어판 항목 ; 제어판에서 
 MButton::send !{F4} ; 휠버튼을 클릭하면 제어판을 종료합니다.

return ; 종료

#ifWinActive ; 특정 프로그램 단축키 사용시 마무리

 

 

 

 

 

 

 

^R:: ; Ctrl + R키로
ifwinexist Autohotkey.ahk - 메모장 ; Autohotkey.ahk - 메모장이란 창 제목이 존재하면  
{
winactivate ; 그 창을 활성화시키고 
send ^s ; Ctrl + S를 누릅니다.즉 저장합니다.
reload ; 스크립트를 다시 읽습니다.
soundbeep ; 비프음으로 알려줍니다.
}
else ; Autohotkey.ahk - 메모장이란 창 제목이 존재하지 않으면 
{
edit ; 일단 Autohotkey.ahk 파일을 열어야 겠죠.위에서 말했듯이 edit는 AHK 파일을 바로 엽니다.
sleep 500 ; 0.5초후에 
send ^s ; Ctrl + S를 누릅니다.즉 저장합니다.
reload ; 스크립트를 다시 읽습니다.
soundbeep ; 비프음으로 알려줍니다.
}
return ; 종료

 

 

 

즉 설정된 단축키를 눌러서 자동으로 오토핫키의 스크립트 파일을 열거나 활성화시키고 스크립트를 저장하고 다시 읽는 것까지

 

완료한다는 내용입니다.이 스크립트를 통해 Edit와 Reload를 각각의 단축키로 설정할 필요가 없습니다.


 

 

 

winmove,a,,x축 위치,y축 위치,x축 크기,y축 크기

 

특정 창 위치와 크기를 변경하는 스크립트입니다.

 

 

 

F6::winmove,a,,,,640,480 ; 현재창에서 F6키를 누르면 위치는 상관없이 크기만 640*480으로 변경됩니다.

 

F7::winmove,a,,0,0,800,600 ; ; 현재창에서 F7키를 누르면 위치는 0,0 즉 모니터 왼쪽 상단에 붙고 크기도 800*600으로 변경됩니다.

 

 

 

다음 스크립트는 실행중인 프로그램의 창을 단축키로 한 번에 변경합니다.

 

대신 실행중인 프로그램의 클래스를 미리 등록해야 합니다.

 

 

F3:: ; F3 키를 누르면 
winmove ahk_class IEFrame,, 0 , 0 , 600 , 600 ; 익스창의 크기만 600,600로 변경합니다.
winmove ahk_class MSPaintApp,, 600 , 0 , 600 , 600 ; 그림판의 위치는 600,0 창의 크기는 600,600로 변경합니다.
winmove ahk_class Notepad,, 0 ,600 , 600 , 600 ; 메모장의 위치는 0,600 창의 크기는 600,600로 변경합니다.
WinRestore a ; 현재창을 이전 크기로 전환합니다.
winmove ahk_class Chrome_WidgetWin_1,, 600 ,600 , 600 , 600 ; 크롬창의 위치는 600,600 창의 크기는 600,600로 변경합니다.

return ; 종료

 

 

 

 

프로그램을 실행하면서 프로그램의 창위치와 창 크기도 변경할 수 있습니다.

 

Run 프로그램 경로 및 실행파일 or 브라우저 경로 및 실행 파일 "사이트 주소" 

WinWaitActive 창 제목 or 사이트 제목 ; 창 제목 or 사이트 제목으로 해당 창이 로딩될 때까지 기다린다는 뜻입니다.

winmove a,, x축 위치,y축 위치,x축 크기,y축 크기 

WinRestore,a ; 크롬 같은 프로그램은 전체 화면에서는 창 크기가 변경되지 않으므로 이전 크기로 변경하고 창 크기를 조절하는 편법을 사용해야합니다.

--new-window ; 크롬을 새 창으로 띄우는 크롬에 내장된 파라메터입니다.

 

 

 


F1::  ; F1키를 누르면 
Run C:\Program Files (x86)\Internet Explorer\iexplore.exe ; 익스를 실행합니다.
WinWaitActive ahk_class IEFrame ; 익스의 실행을 기다립니다.
winmove a,, 0 , 0 , 600 , 600 ; 익스창의 크기만 600,600로 변경합니다.
Run Mspaint ; 그림판을 실행합니다.
WinWaitActive ahk_class MSPaintApp ; 그림판의 실행을 기다립니다.
winmove a,,600 , 0 , 600 , 600 ; 그림판의 위치는 600,0 창의 크기는 600,600로 변경합니다.
Run Notepad ; 메모장을 실행합니다.
WinWaitActive ahk_class Notepad ; 메모장의 실행을 기다립니다.
winmove a,, 0 ,600 , 600 , 600  ; 메모장의 위치는 0,600 창의 크기는 600,600로 변경합니다.
Run C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --new -window ; 크롬을 새 창에서 실행합니다.
WinWaitActive ahk_class Chrome_WidgetWin_1 ; 크롬의 실행을 기다립니다.
WinRestore a ; 현재창을 이전 크기로 전환합니다.
winmove a,, 600 ,600 , 600 , 600  ; 크롬창의 위치는 600,600 창의 크기는 600,600로 변경합니다.
return ; 종료

 

 

 

 

 

F2::  ; F2키를 누르면

Run C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --new-window " https://naver.com" ; 크롬으로 네이버에 접속합니다.
WinWaitActive NAVER - https://www.naver.com/ - Chrome ; 네이버에 접속했을 때 창 제목으로 크롬의 실행을 기다립니다.
WinRestore,a ; 현재창을 이전 크기로 전환합니다.
winmove a,, 0 , 800 , 800 , 800 ; 크롬창의 위치는 0,800 창의 크기는 800,800로 변경합니다.
Run C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --new-window " https://https://windowsforum.kr"
WinWaitActive 윈도우 포럼 - Chrome ; 윈도우 포럼에 접속했을 때 창 제목으로 크롬의 실행을 기다립니다.
WinRestore,a ; 현재창을 이전 크기로 전환합니다.
winmove a,, 800 , 800 , 800 , 800 ; 크롬창의 위치는 800,800 창의 크기는 800,800로 변경합니다.
return ; 종료

 

 

지금까지 설명한 것을 토대로 간단한 매크로를 사용해봅시다.

 

 

#ifWinActive ahk_class CabinetWClass ; 탐색기 창에서
F1:: ; F1키를 누르면 
Send {RButton} ; 우클릭을 합니다.
sleep 100 ; 0.1초후에
send G ; G키를 누릅니다.
sleep 100 ; 0.1초후에
send Z ; Z키를 누릅니다.
return ; 종료
#ifWinActive ; 특정 프로그램 단축키 사용시 마무리

 

위 스크립트는 반디집 사용시 압축 파일에서 F1키를 누르면 현재 폴더로 바로 압축 해제하고 압축하는 스크립트입니다.

 

 

 

 

#IfWinActive  ahk_class Chrome_WidgetWin_1 ; 크롬에서
F2:: ; 웹서핑중 사진에서 F2키를 누르면 
send {rbutton} ; 우클릭을 합니다.
sleep 300 ; 0.3초후에
send v ; v키를 누릅니다.(이미지를 다른 이름으로 저장하는 단축키를 누릅니다.)
sleep 500 ; 0.5초후에(우클릭후 다른 이름으로 저장하는 창이 나오는 시간)
send {tab} ; tab키를 누릅니다.
sleep 100 ; 0.1초후에
send {tab} ; tab키를 누릅니다.
sleep 100 ; 0.1초후에
send {tab} ; tab키를 누릅니다.
sleep 100 ; 0.1초후에
send s ; s키를 누릅니다.(저장 단축키를 누릅니다..)
return ; 종료
#ifWinActive ; 특정 프로그램 단축키 사용시 마무리

 

위 스크립트는 크롬으로 웹서핑하다가 마음에 드는 사진을 우클릭하여 다른 이름으로 저장하는 것을 매크로로 구현한 것입니다.

 

매크로 기능을 사용하는 경우 프로그램 실행 및 창 로딩 시간이 있으므로 대기 시간을 잘 파악해야합니다.

 

너무 빠르면 매크로 기능이 실패하고 너무 느리면 수동으로 클릭하는 것보다 느리겠죠.

 

 

 

 

 

 

 

 

 

 

Always On top이란 프로그램을 오토핫키로 간단히 구현할 수 있습니다.

 

스크립트 내용은 몰라도 되니 그냥 복사해서 붙여넣기로 사용하면 됩니다.

 

 

!T::WinSet, AlwaysOnTop, Toggle,A ; 현재 창에서 Alt + T키를 누르면 항상 위,다시 누르면 해제합니다.

 

 

!F1::  ; 현재 창에서 Alt  + F1 키를 누르면 투명도 적용 , 다시 누르면 투명도 off 합니다.
   WinGet, _T, Transparent, A 
   _T := _T = 150 ? 255 : 150 ; 투명도 150 설정
   WinSet, Transparent, %_T%, A
Return

 

 

 

 

 

 

 

 

 

단축키로 볼륨 조절하는 스크립트입니다.

 

스크립트 내용은 몰라도 되니 그냥 복사해서 붙여넣기로 사용하면 됩니다.

 

+up:: ; shift + 위 화살표 키를 누르면 볼륨 5 증가 
 {
   soundset, +5,
   soundget, vol
   vol:= round(vol, 0)
   traytip, Volume, %vol%`%, , 17
   settimer, removetip, -1500, 0
 }
return

 

+down:: ; shift + 아래 화살표 키를 누르면 볼륨 5 감소
 {
   soundset, -5
   SoundGet, vol
   vol:= round(vol, 0)
   traytip, Volume, %vol%`%, , 17
   settimer, removetip, -1500, 0
 }
return

 

+left:: ; shift + 왼쪽 화살표 키를 누르면 음소거,다시 누르면 음소거 해제
 {
   soundset, +1, , mute
   SoundGet, mute, , mute
   settimer, removetip, -1500, 0

   if mute=on
    {
      traytip, Volume, Mute is On, , 19
    }

   else
    {
      traytip, Volume, Mute is Off, , 17
    }
 }
return

removetip:
 {
   traytip
 }
return

 

 

 

 

 

단축키로 모니터 밝기를 조절하는 스크립트 입니다.

 

스크립트 내용은 몰라도 되니 그냥 복사해서 붙여넣기로 사용하면 됩니다.

 

br := 128   
#up:: ; Win + 위 화살표키를 누르면 모니터가 밝아집니다.
#Down::  ; Win + 아래 화살표키를 누르면 모니터가 어두워집니다.
br += (InStr(A_ThisHotkey, "down") ? -8 : 8 )
If ( br > 256 )
    br := 256
If ( br < 0 )
    br := 0
VarSetCapacity(gr, 512*3)
Loop,   256
{
   If  (nValue:=(br+128)*(A_Index-1))>65535
        nValue:=65535
   NumPut(nValue, gr,      2*(A_Index-1), "Ushort")
   NumPut(nValue, gr,  512+2*(A_Index-1), "Ushort")
   NumPut(nValue, gr, 1024+2*(A_Index-1), "Ushort")
}
hDC := DllCall("GetDC", "Uint", 0)
DllCall("SetDeviceGammaRamp", "Uint", hDC, "Uint", &gr)
DllCall("ReleaseDC", "Uint", 0, "Uint", hDC)
return

 

 

 

대부분의 프로그램이 제목 표시줄을 클릭해야만 창 이동이 가능한데요..

 

Alt + 왼쪽키를 누른채 창 아무 곳이나 클릭하여 창 이동을 할 수 있습니다.

 

 

스크립트 내용은 몰라도 되니 그냥 복사해서 붙여넣기로 사용하면 됩니다.

 

!LButton::
CoordMode, Mouse ; Switch to screen/absolute coordinates.
MouseGetPos, EWD_MouseStartX, EWD_MouseStartY, EWD_MouseWin
WinGetPos, EWD_OriginalPosX, EWD_OriginalPosY,,, ahk_id %EWD_MouseWin%
WinGet, EWD_WinState, MinMax, ahk_id %EWD_MouseWin%
If EWD_WinState = 0  ; Only If the window isn't maximized
    SetTimer, EWD_WatchMouse, 10 ; Track the mouse as the user drags it.
return

EWD_WatchMouse:
GetKeyState, EWD_LButtonState, LButton, P
If EWD_LButtonState = U  ; Button has been released, so drag is complete.
{
    SetTimer, EWD_WatchMouse, off
    return
}
GetKeyState, EWD_EscapeState, Escape, P
If EWD_EscapeState = D  ; Escape has been pressed, so drag is cancelled.
{
    SetTimer, EWD_WatchMouse, off
    WinMove, ahk_id %EWD_MouseWin%,, %EWD_OriginalPosX%, %EWD_OriginalPosY%
    return
}
CoordMode, Mouse
MouseGetPos, EWD_MouseX, EWD_MouseY
WinGetPos, EWD_WinX, EWD_WinY,,, ahk_id %EWD_MouseWin%
SetWinDelay, -1   ; Makes the below move faster/smoother.
WinMove, ahk_id %EWD_MouseWin%,, EWD_WinX + EWD_MouseX - EWD_MouseStartX, EWD_WinY + EWD_MouseY - EWD_MouseStartY
EWD_MouseStartX := EWD_MouseX  ; Update for the next timer-call to this subroutine.
EWD_MouseStartY := EWD_MouseY
return

 

 

단축키로 모니터를 끄는 스크립트

 

스크립트 내용은 몰라도 되니 그냥 복사해서 붙여넣기로 사용하면 됩니다.

 

^o::SendMessage,0x112,0xF170,2,,Program Manager ; Ctrl+o키를 누르면 모니터가 꺼지고 아무 키 입력이나 마우스로 움직이면 모니터가 켜집니다.

 

 

 

^o::MonitOff(MonitVar) ;hotkey to toggle the monitor on and off ; Ctrl+o키를 누르면 모니터가 꺼지고 다시 단축키를 눌러야만 켜집니다.

MonitOff(ByRef x) {

SetTimer, MonitOffLabel, % (x:=!x) ? "500" : "Off" ;toggle the var and turn the timer on or off

If x ;if it turned on turn monitor off

  SendMessage,0x112,0xF170,2,,Program Manager

Else ;if it turned off move the mouse to wake up the screen

  MouseMove, 0,0,0,R

Return

MonitOffLabel: 

If(A_TimeIdle<500) ;if there has been activity

  SendMessage,0x112,0xF170,2,,Program Manager

Return

}

 

 

 

마지막입니다.

 

단축키로 가로 스크롤을 움직이는 스크립트 

 

스크립트 내용은 몰라도 되니 그냥 복사해서 붙여넣기로 사용하면 됩니다.

 

 

~LShift & WheelUp::  ; 왼쪽 쉬프트 + 휠 버튼 위 가로 스크롤 왼쪽,틸트 마우스가 아닌 경우 가로 스크롤바 클릭 대신 단축키로 조절하는 기능
ControlGetFocus, fcontrol, A
Loop 20
    SendMessage, 0x114, 0, 0, %fcontrol%, A
return
~LShift & WheelDown::  ; 왼쪽 쉬프트 + 휠 버튼 다운 가로 스크롤 오른쪽
ControlGetFocus, fcontrol, A
Loop 20
    SendMessage, 0x114, 1, 0, %fcontrol%, A
return

 

 

 

Loop 20의 수치만 수정하여 가로 스크롤바의 가속을 조절할 수 있습니다.

 

번호 제목 글쓴이 조회 추천 날짜
[공지] 강좌 작성간 참고해주세요 gooddew - - -
3229 소프트웨어| 엑셀 날짜 사용자형식 자동변환 [10] 지후빠 1993 1 08-01
3228 기 타| SnStar Mate가 2.43버전업 되었습니다. [유튜브동영상광... [6] Star★Bros 2251 3 07-24
3227 소프트웨어| 오토핫키로 간단한 메뉴 만들기 [12] 미유키로즈 2542 4 07-21
3226 윈 도 우| [Windows 팁] 시작 프로그램 시작시 지연 시간 비활성화 [4] 컴맹이ⓗ 2507 1 07-21
3225 윈 도 우| 인터넷 익스플로러 스마일 아이콘 없애는 방법 [1] 컴맹이ⓗ 3115 3 07-12
3224 소프트웨어| [수정] DisableSplashScreen=true 쉽게 하기 [3] 지후빠 2511 3 07-09
3223 윈 도 우| 크롬 최신버전 패스워드 가져오기/내보내기 사용 방법 [5] 갑파니 2003 5 07-05
3222 윈 도 우| 윈도우 10 KB4022716 업데이트 버그 [15] 배불러 6253 3 06-29
3221 윈 도 우| PE용 드라이버팩 다운로드 사이트 [6] 히이이잌 2863 3 06-29
3220 윈 도 우| 윈도우 작업 표시줄에 관리자 권한의 고정 시키기 컴맹이ⓗ 1894 0 06-29
3219 기 타| MSDN 구독자 다운로드 열기(보기) [6] 해동이 2480 1 06-29
3218 윈 도 우| [배치파일]페트야 랜섬웨어 로컬 킬스위치 [14] 흑서서 2197 8 06-28
3217 소프트웨어| km플레이어 광고제거 방법 2 [2] 사나이가는 2043 1 06-24
3216 소프트웨어| km플레이어 광고제거 방법 [4] 컴맹이ⓗ 2339 2 06-23
3215 윈 도 우| Windows 10 RS2_WinX메뉴에 제어판 추가 [7] 컴맹이ⓗ 2169 2 06-22
» 소프트웨어| 오토핫키를 사용하여 단축키로 프로그램 실행하기 [15] 미유키로즈 2446 9 06-19
3213 소프트웨어| Firefox uBlock Origin 사용시 네이버 카페 글보기 안 될... [5] 은주얌 1408 5 06-19
3212 소프트웨어| 깔끔한 바탕화면 사용하기 -2- [3] 미유키로즈 3540 3 06-17
3211 소프트웨어| classic shell 윈도우 7 style 과 똑같이 세팅하기 임달화 1722 1 06-16
3210 소프트웨어| 가벼운 런쳐 Launchy 활용해보기 [2] 히이이잌 1928 3 06-16