WinSet
지정된 창을 다양하게 변경합니다. 예를 들어 "항상 위에" 그리고 투명도.
WinSet, Attribute, Value [, WinTitle, WinText, ExcludeTitle, ExcludeText]
매개변수
- Attribute, Value
아래 리스트를 참조합니다.
- WinTitle
목표 창을 식별하는 창 제목 또는 다른 기준. WinTitle 참조.
- WinText
존재하면, 이 매개변수는 목표 창 텍스트의 부문자열입니다 (동봉된 Window Spy 유틸리티에 노출됨). 숨은 텍스트는 DetectHiddenText가 켜져 있으면(ON) 탐지됩니다.
- ExcludeTitle
제목에 이 값이 들어 있으면 제외됩니다.
- ExcludeText
텍스트에 이 값이 들어 있으면 제외됩니다.
Attribute, Value
AlwaysOnTop, [On|Off|Toggle]: 창을 다른 모든 창보다 위에 있도록 만듭니다. ON으로 켜고 OFF로 끕니다. 또는 TOGGLE을 사용하면 반대 상태로 현재 상태를 설정할 수 있습니다. 생략하면, 기본값은 TOGGLE입니다. 단어 Topmost를 AlwaysOnTop 대신 사용할 수 있습니다.
Bottom: 창을 스택 하단으로 보냅니다; 즉, 모든 창의 아래로 보냅니다. Alt-Escape를 누른 것과 효과가 비슷합니다. 예를 들어: WinSet, Bottom,, WinTitle
.
Top: 창을 명시적으로 활성화하지 않고 스택 상단으로 올립니다. 그렇지만, 시스템의 기본 설정 때문에 아마도 대부분의 경우 활성화될 것입니다. 게다가, 이 명령어는 운영 체제의 보호 때문에 아무 효과가 없을 수 있습니다. 운영체제는 초점을 훔치려고 시도하는 어플리케이션으로부터 사용자를 보호합니다 ( 어떤 유형이 창이 현재 활성화되어 있는가 그리고 사용자가 어떤 일을 하는가와 같은 여러 요인에 따라 달라질 수 있습니다). 한 가지 가능한 우회책은 창을 잠시 AlwaysOnTop으로 만든 다음, AlwaysOnTop을 끄는 것입니다.
Disable 또는 Enable: 창을 켜거나 끕니다. 창이 꺼지면 사용자는 그의 콘트롤과 상호작용을 할 수 없고 창도 이동할 수 없습니다. 게다가, 꺼진 창은 알트-탭 리스트에서도 빠집니다.
Redraw: 창의 겉모습/내용을 갱신하려고 시도합니다. OS에게 창이 사각 구역을 다시 그릴 필요가 있다고 알려줍니다. 이 방법이 특정한 창에 작동하지 않으면, WinMove를 시도해 보십시오. 그 마저도 작동하지 않으면, 다음을 시도해 보십시오:
WinHide, WinTitle WinShow, WinTitle
Style, N 또는 ExStyle, N: 창의 스타일 또는 확장 스타일을 변경합니다. N의 첫 문자가 플러스 또는 마이너스 사인이면, N에서 스타일이 제거되거나 추가됩니다. 첫 문자가 캐럿 (^)이면, N에서 스타일은 각각 반대 상태로 토글됩니다. 첫 문자가 숫자이면, 창의 스타일은 완전히 덮어씌여집니다; 즉, N이 됩니다.
ErrorLevel은 실패시 1 그리고 성공시 0이 설정됩니다. 목표 창이 발견되지 않으면 또는 스타일 적용을 허용하지 않으면 실패가 일어납니다.
어떤 스타일을 보이는 창에 적용하고 나면, 그 창을 다시 그릴 필요가 있습니다. WinSet Redraw
를 사용합니다 (아래 참조). 마지막으로, 스타일 테이블에 흔히 사용되는 스타일 번호가 나열되어 있습니다. 예를 들어:
WinSet, Style, -0xC00000, A ; 활성 창의 제목 바를 제거합니다 (WS_CAPTION). WinSet, ExStyle, ^0x80, WinTitle ; WS_EX_TOOLWINDOW 속성을 토글합니다. 알트-탭 리스트로부터 창이 제거되거나/추가됩니다.
WinSet, Region [, Options, WinTitle, ...]
창의 모습을 지정한 사각형, 타원 또는 다각형으로 변경합니다. Options 매개변수가 비어 있으면, 그 창은 원래의/기본 디스플레이 구역으로 복구됩니다. 그렇지 않으면, 다음 옵션 중 하나 이상을 조합해 지정할 수 있습니다. 각 옵션은 다음 옵션과 스페이스(들)로 구분합니다:
Wn: 사각형이나 타원의 너비. 예를 들어: w200
.
Hn: 사각형이나 타원의 높이. 예를 들어: h300
.
X-Y: 각각 X/Y 좌표쌍입니다. 예를 들어, 200-0
는 200을 X 좌표에 그리고 0을 Y 좌표에 사용합니다.
E: 사각형이 아니라 타원으로 만듭니다. 이 옵션은 와 H 옵션이 존재할 경우에만 유효합니다.
R[w-h]: 둥근 모서리를 가진 사각형을 만듭니다. 예를 들어R30-30
은 각 모서리에 30x30 타원을 사용합니다. w-h를 생략하면, 30-30이 사용됩니다. R은 W와 H 옵션이 존재할 경우에만 유효합니다.
사각형 또는 타원: W와 H 옵션이 존재하면, 새로운 디스플레이 구역이 사각형이 됩니다. 이 사각형의 좌상 모서리는 X-Y 좌표의 (유일한) 첫 번째 쌍으로 결정됩니다. 그렇지만, E 옵션도 존재하면, 그 디스플레이 구역은 사각형이 아니라 타원이 됩니다. 예를 들어: WinSet, Region, 50-0 W200 H250 E, WinTitle
.
다각형: W와 H 옵션이 없으면, 새 디스플레이 구역은 다각형이 됩니다. 여러 쌍의 X-Y 좌표에 의해 결정됩니다 (각 좌표 쌍은 창 안의 좌상 모서리로부터 상대적인 점입니다.). 예를 들어, 세 쌍의 좌표가 지정되면, 그 새 디스플레이 구역은 대부분의 경우 세모가 됩니다. 좌표 쌍의 순서는 서로와 관련하여 종종 중요한 경우가 있습니다. 게다가, 단어 Wind가 Options 안에 존재할 수 있습니다. 이 경우 다각형의 범위를 결정하기 위해 alternating 방법 대신에 winding 방법을 사용합니다.
ErrorLevel은 실패시 1, 성공시 0이 설정됩니다. 실패가 일어나는 경우는:
- 목표 창이 존재하지 않는다;
- 하나 이상의 Options 옵션이 무효하다;
- 2000 쌍이 넘게 좌표를 지정했다;
- 지정된 범위가 무효하거나 목표 창에 적용할 수 없다.
이 페이지의 아래에서 이 명령어를 사용하는 방법에 관한 예제를 참조하십시오.
WinSet, Transparent, N, WinTitle
창을 반-투명하게 만듭니다. N에 0부터 255 사이의 숫자를 지정하면 투명도를 조절할 수 있습니다: 0이면 창이 보이지 않고 255이면 완전 불투명하게 됩니다. 투명도는 완전히 끌 수 있습니다. 창에 단어 OFF를 지정하면 됩니다. 이것은 255를 지정하는 것과는 다릅니다. 왜냐하면 수행성능을 향상시키고 시스템 자원을 절약하기 때문입니다.
Transparent 그리고 TransColor에 대하여 알려진 한계:
- 캡션(타이틀바)가 없고 always-on-top 특성이 없는 창에는 효과가 없습니다. GUI 창에 대하여, 이 문제는 창을 투명하게 만든 다음에 캡션을 제거하면 해결할 수 있습니다. 대안으로, 다음 특성들은 투명 효과를 허용합니다:
Gui -Caption +ToolWindow
. - "Transparent"를 끄기 전에 255로 설정하면 창이 다시 그려져 검정색 배경화면이 보여지는 문제를 피할 수 있습니다. 창이 여전히 올바르게 다시 그려지는 데 실패하면, 가능한 우회책은 Redraw를 참조하십시오.
- 창에서 기존의 TransColor를 변경하려면, 변경하기 전에 먼저 투명효과를 끌 필요가 있습니다.
팁: 태스크 바를 투명하게 만들려면 WinSet, Transparent, 150, ahk_class Shell_TrayWnd
을 사용하십시오. 비슷하게, 시작 메뉴를 투명하게 만들려면, 다음 예제를 따르십시오:
DetectHiddenWindows, on WinSet, Transparent, 150, ahk_class BaseBar ; 시작 메뉴의 부메뉴도 투명하게 만들려면, 아래의 스크립트도 포함하십시오.
전체 시스템에서 선택된 모든 메뉴를 투명하게 하려면, 다음과 같은 스크립트를 항상 실행되도록 유지합니다. 이런 스크립트는 자신의 메뉴는 투명하게 만들지 못하지만 다른 스크립트의 메뉴는 투명하게 만들 수 있습니다:
#Persistent SetTimer, WatchForMenu, 5 return ; 자동 실행 섹션의 끝입니다. WatchForMenu: DetectHiddenWindows, on ; 메뉴의 탐지를 곧 허용합니다. IfWinExist, ahk_class #32768 WinSet, Transparent, 150 ; 윗 줄에서 발견된 창을 사용합니다. return
WinSet, TransColor, Color [N], WinTitle
선택된 색깔의 모든 픽셀을 목표 창에서 보이지 않게 만듭니다. 그러면 창의 내용 뒤를 통과해 볼수 있습니다. 사용자가 보이지 않는 픽셀을 클릭하면, 그 클릭은 창 뒤로 "뚫고 전달됩니다". Color에는 컬러 이름 또는 RGB 값을 지정합니다 (색상 차트를 참고하시거나 아니면 RGB 모드로 PixelGetColor를 사용하십시오). 창에서 보이는 부분을 부분적으로 투명하게 만들려면, 스페이스 (쉼표 안됨) 다음에 투명도 (0-255)를 지정하면 됩니다. 예를 들어: WinSet, TransColor, EEAA99 150, WinTitle
.
TransColor는 종종 화면-위-그림 그리고 기타 시각 효과를 얻기 위해 사용됩니다. 화면-위-그림 예제는 Gui 페이지의 하단에 보여줍니다.
단어 OFF를 지정하면 창에 완전히 투명 효과를 끌 수 있습니다. 다음 두 코드는 모두 기능상 동등합니다:
WinSet, Transparent, Off, WinTitle WinSet, TransColor, Off, WinTitle
알려진 한계: 위의 리스트를 참조하십시오.
논평
ErrorLevel은 위에 제시된 경우를 제외하고 이 명령어로 바뀌지 않습니다.
투명 효과는 Windows 2000/XP 이상이면 지원하지만, 창의 현재 투명도 설정을 열람하는 것은 (WinGet을 통하여) Windows XP 이상에서만 가능합니다.
스크립트의 SplashText 창은 다음을 통하여 비-AlwaysOnTop으로 만들 수 있습니다:
WinSet, AlwaysOnTop, Off, My Splash Window Title
창 제목과 텍스트는 대소문자를 구분합니다. 숨은 창은 DetectHiddenWindows이 켜져 있으면 탐지됩니다.
관련 항목
WinGet, WinHide, WinSetTitle, WinMove, WinActivate, Control
예제
WinSet, Transparent, 200, Untitled - Notepad ; 창을 약간 투명하게 만듭니다. WinSet, TransColor, White, Untitled - Notepad ; 모든 하얀 픽셀을 보지이 않게 만듭니다. WinSet, AlwaysOnTop, toggle, Calculator ; 계산기의 always-on-top 상태를 토글합니다. ; 더 긴 예제: ; 다음은 "Transparent"와 "TransColor"의 효과를 보여주는 핫키들입니다. ; 주의: 핫 키중 하나를 눌렀는데 마우스 커서가 ; TransColor의 결과로 보이지 않는 픽셀 위를 선회하고 있다면 ; 그 픽셀 아래에 보이는 창이 대신 작동할 것입니다! 또한, ; Win+G는 Windows XP에만 효과가 있습니다. ; 왜냐하면 투명도 설정의 열람은 Windows 2000에서 지원되지 않기 때문입니다: #t:: ; Win+T를 눌러 마우스 커서 아래의 컬러를 보이지 않게 만듭니다. MouseGetPos, MouseX, MouseY, MouseWin PixelGetColor, MouseRGB, %MouseX%, %MouseY%, RGB ; 기존의 투명 효과를 먼저 꺼야할 필요가 있어 보입니다: WinSet, TransColor, Off, ahk_id %MouseWin% WinSet, TransColor, %MouseRGB% 220, ahk_id %MouseWin% return #o:: ; Win+O를 눌러 마우스 아래의 창에 투명 효과를 끕니다. MouseGetPos,,, MouseWin WinSet, TransColor, Off, ahk_id %MouseWin% return #g:: ; Win+G를 눌러 마우스 아래에 있는 창의 현재 설정을 보여줍니다. MouseGetPos,,, MouseWin WinGet, Transparent, Transparent, ahk_id %MouseWin% WinGet, TransColor, TransColor, ahk_id %MouseWin% ToolTip Translucency:`t%Transparent%`nTransColor:`t%TransColor% return ; "WinSet Region" 예제: WinSet, Region, 50-0 W200 H250, WinTitle ; 창에서 이 사각형 밖에 있는 모든 부분을 보이지 않게 만듭니다. WinSet, Region, 50-0 W200 H250 R40-40, WinTitle ; 위와 같지만 모서리를 40x40으로 둥글게 만듭니다. WinSet, Region, 50-0 W200 H250 E, WinTitle ; 사각형 대신 타원형. WinSet, Region, 50-0 250-0 150-250, WinTitle ; 정점이 아래를 가리키는 삼각형. WinSet, Region,, WinTitle ; 창을 원래/기본 디스플레이 구역으로 복구합니다. ; 다음은 좀 복잡한 구역입니다. 창 안에 뚫려 보이는 사각형을 만듭니다. ; 아래에 두 개의 사각형을 지정합니다: 바깥과 안쪽. 각 사각형은 5개의 X/Y 좌표 쌍으로 구성됩니다. ; 왜냐하면 첫 쌍은 끝에 반복되어 각 사각형을 "닫기" 때문입니다. WinSet, Region, 0-0 300-0 300-300 0-300 0-0 100-100 200-100 200-200 100-200 100-100, WinTitle