메뉴 건너뛰기

이슈 컴퓨터 초보도 단축키을 이용하여 컴퓨터 편리하게 사용하기 2편.JPG
2,685 62
2017.03.30 21:23
2,685 62

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.기초 매크로





단축키 입력으로 이미지 한 장 바로 저장하기

uJoSL
원리는 크롬 기준이고 익스,파폭도 쉽게 응용 가능


^1:: ; 이미지에서 Ctrl + 1키를 누르면 
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


시간이 너무 빠르면 로딩에 필요한 창이 나오기 전에 밑의 스크립트가 자동 실행되어 실패하니 알아서 수정한다.

그렇다고 너무 느리면 수동으로 하는 것보다 답답함. 적절하게 조절해야함..

위의 스크립트를 그냥 사용해도 되지만

해당 프로그램에서만  단축키를 사용하는 스크립트로 수정 

1편 참조(#IfWinActive  ahk_class으로 시작하여 #IfWinActive 마무리)


#IfWinActive  ahk_class Chrome_WidgetWin_1 ; 크롬에서만 해당 단축키를 사용한다.
^1:: ; 이미지에서 Ctrl + 1키를 누르면 
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



반디집으로 압축 풀기

이미지 저장하기와 원리는 같다.

Jkhko

역시 해당 프로그램에서만  단축키를 사용하는 스크립트로 수정


#IfWinActive  ahk_class CabinetWClass ; 탐색기에서만 해당 단축키를 사용한다.
^2:: ; 압축 파일에서  Ctrl + 2키를 누르면 
send {rbutton} ; 우클릭해서
sleep 100 ; 0.1초 후에 
send z ; z 버튼을 누른다.(알아서 풀기 단축키를 누른다.)
return
#IfWinActive

압축하기도 같은 방법으로 하면 된다.

기타 컴퓨터 작업도 대부분 이런식으로 응용하면 된다.



#IfWinActive  ahk_class Chrome_WidgetWin_1 크롬에서만 해당 단축키를 사용한다.
^3:: ; ; 현재 더쿠 사이트에서 Ctrl + 3키를 누르면 
run http://theqoo.net/index.php?mid=jdol&filter_mode=normal&category=26384 ; 하로프로 카테에 접속한다.
sleep 300 ; 0.5초후에
send ^+{tab} ; 이전 탭으로 이동하여
sleep 100 ; 0.1초후에 
send ^w ; 해당 탭을 종료한다.
return
#IfWinActive

위 스크립트는 약간 편법을 이용했지만 단축키로 바로 해당 카테고리에 이동하는 것처럼 작동된다.









3.마우스 클릭 이용하기


Mouseclick,L,X축,Y축 ; L은 생략 가능,R(우클릭),M(휠클릭)


HESnw

당연한 이야기지만 예제의 좌표값은 사용자의 설정 해상도 및 창 크기,위치에 따라 다르다.




#IfWinActive  ahk_class Chrome_WidgetWin_1 크롬에서만 해당 단축키를 사용한다.
F1: ; F1키를 누르면
send {home} ; 홈페이지 밑으로 내렸을 때 다음 좌표를 클릭해봐야 헛질하므로 Home키를 눌러서 현재 홈페이지 상단으로 이동한다.
sleep 100
mouseclick,L,472,98 ; 제이돌 카테를 클릭한다.
sleep 900
mouseclick,L,222,169 ; 하로프로 카테를 클릭한다.
return
#IfWinActive

2번 마지막 스크립트를 단축키를 이용한 마우스 조작으로도 할 수 있다.

단축키는 기능키(F1-F12)로 설정하자..Ctrl,Shift 조합해서 설정하면 가끔 새 탭으로 뜬다.





4.Imgage Search

고정된 좌표가 아닌 움직이는 좌표를 검색하여 캡쳐한 이미지를 찾는 기능


ChYyX

Imgage Search의 원리

X축1,Y축1부터 X축2,Y축2까지의 범위를 검색하여 해당 버튼을 찾는다.

물론 사진의 바깥 부분으로 범위를 설정하면 전체 해상도만 입력하면 되기 때문에 좌표 입력이 편하겠지만 반대로 검색 범위가 넓어서 반응 속도가 느려진다.

사진의 연녹색 부분처럼 버튼의 최소 이동 범위를 정해서 찾는 것이 검색 범위가 적으니 컴퓨터가 인식하는 속도가 빠르다.








imagesearch,VX,VY,X축1,Y축1,X축2,Y축2,*오차범위 이미지 파일 경로 및 파일 이름
If errorlevel= 0 ; imagesearch에 성공하였을 때
mouseclick,left, %VX%, %VY%
else if errorlevel = 1 ; imagesearch에 실패하였을 때
MsgBox, 에러메세지
return









xtAyb

제일 먼저 해당 버튼 부분을 캡쳐해서 임의의 폴더에 저장해야한다.


wVdKY


댓글 등록 버튼은 고정 좌표가 아니므로 제일 위쪽에 있을 때와 제일 아래 있을 때 좌표를 검색하여 캡쳐한 버튼을 찾아서 클릭해야 한다.




#IfWinActive  ahk_class Chrome_WidgetWin_1 크롬에서만 해당 단축키를 사용한다.
^5::  ;  Ctrl+5키를 누르면
imagesearch,VX,VY,927,75,999,992,*100 C:\Users\pc\Documents\등록.jpg 927,75,999,992 좌표 사이를 검색하여 등록 버튼을 클릭한다.
If errorlevel= 0
mouseclick,l, %VX%, %VY% 
else if errorlevel = 1
MsgBox, 못찾았다 ; 에러 메세지
return
#IfWinActive



Imagesearch 2번 하기

Rjhvp


cfPns 

 IsSiJ

마찬가지로 해당 버튼을 캡쳐해서 임의의 폴더에 저장해야한다.


CIfzs
return 전의 Imagesearch의 스크립트를 복사해서 mouseclick후(imagesearch에 성공했을 때)에 잠깐 쉬고 (sleep 100)

다시 Imagesearch해야 하니 그대로 붙여넣기하면 된다.



#IfWinActive  ahk_class Chrome_WidgetWin_1  ; 크롬에서만 해당 단축키를 사용한다.
^6::   ;  Ctrl+6키를 누르면
imagesearch,VX,VY,470,204,505,246,*100 C:\Users\pc\Documents\C버튼.jpg  470,204,505,246 좌표 사이를 검색하여 C버튼을 클릭한다.
If errorlevel= 0
mouseclick,l, %VX%, %VY%
sleep 100 ; 0.1초후에 다시 이미지 서치 시작
imagesearch,VX,VY,370,257,603,350,*100 C:\Users\pc\Documents\갈색 버튼.jpg ; 370,257,603,350 사이 좌표를 검색하여 갈색 버튼을 클릭한다.
If errorlevel= 0
mouseclick,l, %VX%, %VY%
else if errorlevel = 1
MsgBox, 못찾았다 ; 에러 메세지
else if errorlevel = 1
MsgBox, 못찾았다  ; 에러 메세지
return
#IfWinActive  






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 




댓글 62
댓글 더 보기
새 댓글 확인하기

번호 카테고리 제목 날짜 조회
이벤트 공지 [💚포레스트 서울💚]글로벌 메이크업 아티스트 민킴픽! 올영 1등 세럼💦 화잘먹 금손 세럼 히알 피톤시카 세럼 체험단 모집 160 00:05 11,643
공지 [공지] 언금 공지 해제 24.12.06 5,198,235
공지 📢📢【매우중요】 비밀번호 변경 권장 (현재 팝업 알림중) 24.04.09 12,471,735
공지 공지가 길다면 한번씩 눌러서 읽어주시면 됩니다. 23.11.01 13,158,725
공지 ◤더쿠 이용 규칙◢ [스퀘어 정치글은 정치 카테고리에] 20.04.29 35,775,841
공지 정치 [스퀘어게시판 정치 카테고리 추가 및 정치 제외 기능 추가] 25.07.22 1,122,802
공지 정보 더쿠 모바일에서 유튜브 링크 올릴때 주의할 점 785 21.08.23 8,573,765
공지 정보 나는 더쿠에서 움짤을 한 번이라도 올려본 적이 있다 🙋‍♀️ 271 20.09.29 7,486,691
공지 팁/유용/추천 더쿠에 쉽게 동영상을 올려보자 ! 3624 20.05.17 8,694,755
공지 팁/유용/추천 슬기로운 더쿠생활 : 더쿠 이용팁 4022 20.04.30 8,585,392
공지 팁/유용/추천 ◤스퀘어 공지◢ [9. 스퀘어 저격판 사용 금지(무통보 차단임)] 1236 18.08.31 14,544,393
모든 공지 확인하기()
3075946 유머 충전하면서 도로 위 달리는 전기차 보조배터리.gif 19:30 113
3075945 이슈 직업 진짜 다양하게 준비해서 놀람 19:29 219
3075944 이슈 소위 '취집'의 말로末路라는 얘기 듣고있는 여시 엄마 뒷담글 5 19:28 578
3075943 정치 요즘 서울시장 여론조사 서울시민 타령하는 게 어이없는 이유 7 19:28 281
3075942 이슈 모든 가치를 존중하려던 사람의 유교 드래곤을 깨운 것 19:27 176
3075941 이슈 ITZY(있지) “Motto” M/V Reaction Video 19:26 32
3075940 정치 고장난 시계 맞는 때가 된 홍준표 8 19:25 442
3075939 이슈 아이오아이 ‘갑자기' 멜론 일간 추이 7 19:25 354
3075938 유머 전기차 풀충전 비용이 치킨 한마리값이라는 차.jpg 2 19:24 899
3075937 유머 새로운 개인기가 생겼다는 카리나ㅋㅋㅋㅋ 5 19:24 276
3075936 이슈 동생이 8살 많은 피부과 의사랑 결혼하겠대 64 19:21 4,366
3075935 이슈 김선태 충주의료원에 1억 기부 ㄷㄷ 12 19:21 918
3075934 이슈 전 세계 출산율에 대해 잘못 알려진 사실들 21 19:21 846
3075933 이슈 비플레인 의문의 카세트 테이프의 정체는…?! Ⓒⓞⓜⓘⓝⓖ Ⓢⓞⓞⓝ.. 2 19:20 177
3075932 기사/뉴스 [단독] 대표 구속된 블루엘리펀트, 안경 파우치도 젠몬 베꼈다 14 19:19 1,566
3075931 유머 쉬었음 강아지 4 19:19 847
3075930 유머 오디션 프로그램에서 첫 키스;;;;는 왜 물어 본 걸까?? 1 19:16 1,255
3075929 이슈 어제 신박한 카톡 프로모 진행 했다는 셔누x형원 유닛 3 19:16 333
3075928 이슈 르세라핌 VS 엔믹스 VS 에스파, 3사 걸그룹 격돌…3파전 승기 누가 쥘까 7 19:16 340
3075927 유머 인용에 아기 울음소리 듣고 헐레벌떡 달려온 기특한 어른고양이 이백마리 있어서 활짝 웃음 7 19:15 984