http://theqoo.net/415713054
컴퓨터 초보도 단축키을 이용하여 컴퓨터 편리하게 사용하기 1편
오토핫키 사용법은 1편을 참고하고
초보는 스크립트 전체를 이해할 필요는 없음..
밑의 스크립트 역시 대부분 갈색 부분만 변경해서 그대로 AHK 메모장 파일에 복사하고 붙여넣기하여 사용하면 됨
대신..1편에 있는 내용을 봐야 이해가 쉬움.
1.작업표시줄 숨기기
게임 혹은 동영상 보다가 작업표시줄이 갑자기 확 나올 때 일시적으로 숨기는 방법
작업표시줄을 숨겨도 바탕화면에서 보면 미세하게 줄 표시되어 있고 마우스로 이동하면 다시 보이는데
그런 윈도우 자체 작업표시줄 숨김이 아니고 완전히 숨기는 것임
대신 작업관리자를 실행하는 경우에는 다시 풀리니 주의
!Esc:: ; Alt + ESC를 누르면 작업표시줄을 숨긴다.다시 누르면 작업표시줄이 나온다.
WinExist("ahk_class Shell_TrayWnd")
ControlGetPos,,,, hTB, ahk_class Shell_TrayWnd
t := !t
VarSetCapacity(area, 16)
WinGetActiveStats, AT, AW, AH, AX, AY
If (t = "1") { ; Hide
Top := A_ScreenHeight
WinHide, ahk_class Shell_TrayWnd
WinHide, Start ahk_class Button
WinMove, %AT%,,,0,, %A_ScreenHeight%
} Else { ; Show
Top := A_ScreenHeight - hTB
WinShow, ahk_class Shell_TrayWnd
WinShow, Start ahk_class Button
WinMove, %AT%,,,0,, (A_ScreenHeight-hTB)
}
DllCall("ntoskrnl.exe\RtlFillMemoryUlong", UInt,&area + 0, UInt,4, UInt,0)
DllCall("ntoskrnl.exe\RtlFillMemoryUlong", UInt,&area + 4, UInt,4, UInt,0)
DllCall("ntoskrnl.exe\RtlFillMemoryUlong", UInt,&area + 8, UInt,4, UInt,A_ScreenWidth)
DllCall("ntoskrnl.exe\RtlFillMemoryUlong", UInt,&area + 12,UInt,4, UInt,Top)
DllCall("SystemParametersInfo", UInt,0x2F, UInt,0, UInt,&area, UInt,0)
return
처음에 설명한 그대로 그냥 복사해서 붙여넣고 사용하면 된다.
2.기초 매크로
원리는 크롬 기준이고 익스,파폭도 쉽게 응용 가능
제일 먼저 해당 버튼 부분을 캡쳐해서 임의의 폴더에 저장해야한다.
댓글 등록 버튼은 고정 좌표가 아니므로 제일 위쪽에 있을 때와 제일 아래 있을 때 좌표를 검색하여 캡쳐한 버튼을 찾아서 클릭해야 한다.
return 전의 Imagesearch의 스크립트를 복사해서 mouseclick후(imagesearch에 성공했을 때)에 잠깐 쉬고 (sleep 100)
5.키보드입력 모드가 영문 , 한영일때 오류없이 해당 스크립트 실행하기
IME_CHECK(WinTitle)
{
WinGet,hWnd,ID,%WinTitle%
Return Send_ImeControl(ImmGetDefaultIMEWnd(hWnd),0x005,"")
}
Send_ImeControl(DefaultIMEWnd, wParam, lParam)
{
DetectSave := A_DetectHiddenWindows
DetectHiddenWindows,ON
SendMessage 0x283, wParam,lParam,,ahk_id %DefaultIMEWnd%
if (DetectSave <> A_DetectHiddenWindows)
DetectHiddenWindows,%DetectSave%
return ErrorLevel
}
ImmGetDefaultIMEWnd(hWnd)
{
return DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hWnd, Uint)
}
까지는 그냥 복사해서 붙여넣기한다.
키보드입력 모드가 영문 , 한영일때 오류없이 실행해야 하는 스크립트가 2개 이상일 경우에는 (위의 스크립트는 물론 적어주고)
밑의 스크립트만 따로 입력하여 응용하면 된다.
단축키::
ret := IME_CHECK("A") ; 키보드 영문 상태이면
if ret = 0
{
스크립트 내용
}
if ret = 1 ; 한글 상태이면
{
Send {vk15} ; 한영키를 눌러서 영문으로 변환한 후
스크립트 내용
}
Return
나는 이걸 keepass라는 비밀번호 관리 프로그램에서 사용함..
한글에서 전역 자동 입력하면 abcdefg가 뮻ㅇㄷㅀ 이렇게 입력해서 로그인이 실패되는데
크롬에 플러그인으로 있긴 한데 보안 비번 치는 것도 귀찮고 로그인 안 할 때도 사이트 접속할 때마다 물어보는게 귀찮아서 그거 끄면 나중에는 또 안 물어봄
지금은 모르겠지만 오토핫키를 응용하는 것으로 적응되었음..내가 로그인하고 싶을 때만 누르면 되니깐..
^3:: ; Ctrl + 3을 누르면 키보드 영문 상태이면
ret := IME_CHECK("A") ;
if ret = 0
{
send ^2 ; Ctrl + 2를 누른다.
}
if ret = 1 ; 한글 상태이면
{
Send {vk15} ; 한영키를 눌러서 영문으로 변환한 후
sleep 300 ; 0.3초후에
send ^2 ; Ctrl + 2를 누른다.
}
return
Ctrl+2는 keepass에서 전역 자동 입력 키로 설정한거고
Ctrl+3을 누르면 키보드가 영문일때는 Ctrl+2를 바로 누르고 키보드가 한글일 때는 한영키를 누르고 Ctrl+2를 누른다는 스크립트
쉽게 이야기해서 키보드 입력 상태에 상관없이 로그인을 할 수 있다는 뜻
텍스트를 드래그한 후 단축키 입력후 맞춤법 사이트에서 바로 검사하는 예제
#IfWinActive ahk_class Chrome_WidgetWin_1 ; 크롬에서만 해당 단축키를 사용한다.
^4:: ; ctrl+ 4키를 누르면
clipboard = ; 클립보드를 초기화한 후
Send ^c ; 자동으로 텍스트를 복사해서
clipwait 1 ; 클립보드에 복사될 때까지 1초 기다린 후
Run http://speller.cs.pusan.ac.kr/PnuSpellerISAPI_201602 ; 맞춤법 사이트 접속후
sleep 3000 ; 3초 기다린후
send {tab} ; 탭을 누른다.(검사창 안으로 이동한다는 뜻)
sleep 500 ; 0.5초후에
mouseclick,r,300,300 ; x축 300,y축 300 을 우클릭하여 ( 검사창 안의 빈 공간 아무 곳이나 우클릭한다는 뜻)
sleep 100 ; 0.1초후에
ret := IME_CHECK("A") ; 키보드 영문 상태이면
if ret = 0
{
send p ; p를 누른다.(크롬에선 우클릭후 붙여넣기 단축키가 P임,이 사이트는 Ctrl+V가 안 됨)
sleep 100 ; 0.1초 후에
mouseclick,l, 256,200 ; 맞춤법 검사하기를 클릭한다.
}
if ret = 1 ; 한글 상태이면
{
Send {vk15} ; 한영키를 눌러서 영문으로 변환한 후
sleep 300 ; 0.3초후에
send p ; p를 누른다.(크롬에선 우클릭후 붙여넣기 단축키가 P임,이 사이트는 Ctrl+V가 안 됨)
sleep 100 ; 0.1초 후에
mouseclick,l, 256,200 ; 맞춤법 검사하기를 클릭한다.
}
Return
#IfWinActive