강좌 / 팁

소프트웨어 StrokesPlus 창닫기/탭닫기 조정 스크립트

2013.11.19 12:18

유리얼음 조회:5024 추천:2

오토핫키로 했었는데.. -0- strokesPlus로 직접해보았습니다....

익스/크롬 그리고 일반응용프로그램 창닫기 스크립트..

뭐 완벽하진 않지만.. 꽤 직관적으로 사용할만하다고 생각함;;

아래 스크립트는 꽤 다른분들에게도 유용할수 있을듯함;;

마우스 위치(제스처 시작위치)를 기준으로 작동

글로벌액션에 등록하면 됩니다

===============================================================================================================

acActivateWindow(nil, gsx, gsy, 0)                                             -- 제스처가 시작하는 곳의 마우스위치 아래 있는창 활성화
local iClassName = acGetClassName(acGetForegroundWindow(), nil, nil) -- 활성화된 창의 클래스명 얻기(프로그램 ID)
if iClassName == "IEFrame" or iClassName == "Chrome_WidgetWin_1" then -- 프로그램이 익스이거나 크롬이면
   acSendKeys("^{F_4}")                                                                  -- 탭닫기 단축키 보내기 (컨츄롤f4)
else                                                                                                   --프로그램이 익스나 크롬이 아니면
   local iTorrent = acGetExecutableName(acGetForegroundWindow(), nil, nil) --유토렌트를 변수에저장하고(이유는밑에서별도설명)
  acSendKeys("%{F_4}")                                                                          -- 창닫기 단축키 보내기(알트 f4)
  acDelay(200)                                                                                        -- 0.2초 대기타다가
  if acGetClassName(acGetForegroundWindow(), nil, nil) == "Shell_TrayWnd" or iTorrent == "utorrent.exe" then --밑에서 별도설명
     acSendKeys("%{ESC}")
     end
end

==================================================================================================================

활성창이 닫히면 바로 아래창이 자동으로 활성화 되어야되는데, 프로그램을 시작메뉴에서 시작한경우 그렇지 못합니다..

같은 이유로 유토렌트도 종료하면-0- 포커스가 어디로 공중분산되버려서....종료후 바로 아래 창이 활성화되도록

단축키 ALT+ESC키를 보냅니다 %{ESC)

론쳐에서 따로 프로그램을 실행하시는분들은 빨간색 부분을 클래스명만 교체하면 됩니다..

위 스크립트는 일반적으로 사용될수 있도록 좀 편집했고 아래는 제가 실제 사용중인 스크립트입니다..

==================================================================================================================

acActivateWindow(nil, gsx, gsy, 0)
local iClassName = acGetClassName(acGetForegroundWindow(), nil, nil)
if iClassName == "IEFrame" or iClassName == "Chrome_WidgetWin_1" then 
 if acGetWindowBottom(acFindWindow("Shell_TrayWnd"), nil, nil) == 900 then  
  if acGetPixelBByPoint(1020, 28) == 251 then  
   acSendKeys("%{F_4}")
  else
   acSendKeys("^{F_4}")
  end                                                                     
 elseif acGetPixelBByPoint(860, 28) == 251 then
   acSendKeys("%{F_4}")
  else                                                                      
   acSendKeys("^{F_4}")
  end                                                                     
elseif iClassName == "QWidget" then                                       
 acTerminateProcess(acGetForegroundWindow(), nil, nil)
 else
 local iTorrent = acGetExecutableName(acGetForegroundWindow(), nil, nil)
 acSendKeys("%{F_4}")
 acDelay(200)
  if acGetClassName(acGetForegroundWindow(), nil, nil) == "Shell_TrayWnd" or iTorrent == "utorrent.exe" then
   acSendKeys("%{ESC}")
  end
end

======================================================================================================

위에거와 다른것은, 알트F4로 프로그램을 닫는경우 트레이로 가는 것들(슈거싱크)이 있는데  그넘들만 프로세스로 종료하고(빨강색부분) 익스에서 컨트롤 f4로 종료하면 딜레이가 좀 있어서 창이 하나 남은 경우 알트F4로 종료되도록 했습니다.(녹색부분)

첫번째 탭만 남은경우 (1020,28) 좌표가 색이 다르다는 점을 이용하는 것이기 때문에 좌표만 조정해서 응용가능.

마지막으로 프로젝터때문에 해상도를 두개 사용하는데, 그때마다 위에 언급만 좌표의 위치가 달라지기 때문에 별도도 지정한겁니다

(파랑색부분) 해상도 구하는것은 따로 없는것 같아서 작업표시줄의 좌표를 구해서 변칙적으로 활용해보았습니다.


기본적으로 스크립트 양보다는 컴퓨터가 수행하는 양을 줄일수 있을것 같은 방향으로-0-해보았는데 아무래도

순수 문과생인 초보인지라.... 허접한...

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
406 소프트웨어| 윈도우 날짜를 바꿔봅시다 배치파일 만들기 [2] 똥꼬빤쮸 4700 1 12-17
405 소프트웨어| StrokesPlus, 제스처로 apply버튼, ok버튼 누르기(AHK의 활용) [2] 유리얼음 4208 5 12-14
404 소프트웨어| Primo 램디스크의 하이브리드 디스크 활용하기 [11] 고맙쥐 9437 9 12-14
403 소프트웨어| 오브젝트독(Object Dock) 추가 내용 - 본문 수정② [27] 고양이2 5137 19 12-13
402 소프트웨어| Internet Explorer 32비트 64비트 아이콘 만들기 [7] 죠타로 4441 4 12-13
401 소프트웨어| 울트라ISO로 USB에 4GB이상 ISO굽는법. [8] Teris 20225 2 12-11
400 소프트웨어| 오브젝트독(Object Dock) 이용하기 - (본문 수정) [37] 고양이2 5837 27 12-07
399 소프트웨어| Kingsoft Office "Online Templates"탭 없이 시... 명품도라지 3380 1 12-05
398 소프트웨어| 리얼텍 유선,무선인터넷 끊김현상 해결하기. [9] 컴도깨비 13300 2 12-03
397 소프트웨어| 램디스크(Ram Disk) 만들기 - 본문 수정 [60] 고양이2 9434 50 12-02
396 소프트웨어| [이벤트 종료] CyberGhost 5 VPN 12개월 키 받고, 토렌트 i... [8] sous_la_pl 6446 4 12-01
395 소프트웨어| 바이두 직접 공유를 위한 링크 생성 [10] 배짱이 7045 3 11-29
394 소프트웨어| 트루이미지(Acronis True Image) 추가본②(본문 수정) [91] 고양이2 9118 62 11-26
393 소프트웨어| 비트디펜더 토탈 시큐리티 6개월 프로모션 [6] sous_la_pl 5029 5 11-23
392 소프트웨어| 포토샵 기술 326가지(이미지파일) [18] DOS 11719 11 11-23
391 소프트웨어| 트루이미지(Acronis True Image) 추가본(본문 수정2) [81] 고양이2 9583 32 11-22
390 소프트웨어| 오토핫키, 스크롤 가속도 주기 스크립트 유리얼음 4465 3 11-21
389 소프트웨어| 안드로이드폰에서 구동하는 KMS에뮬 [11] 링고스타 14640 10 11-20
388 소프트웨어| 한컴오피스 2014 홈에디션 MLP 정품 다운로드 방법 [7] 일교차 18607 1 11-20
387 소프트웨어| KMSv6 Linux Bootable ISO 의 사용(추가) [5] 링고스타 7556 3 11-20
XE1.11.6 Layout1.4.8