지정된 창에 다양한 변경을 가할 수 있습니다. 예를 들어 "항상 위에" 그리고 투명도.
WinSet, SubCommand, Value , WinTitle, WinText, ExcludeTitle, ExcludeText
For SubCommand, specify one of the following:
창을 다른 모든 창보다 위에 있도록 만듭니다.
WinSet, AlwaysOnTop , OnOffToggle, WinTitle, WinText, ExcludeTitle, ExcludeText
For OnOffToggle, specify On
turn on the setting, Off
to turn it off, or Toggle
to set it to the opposite of its current state. If OnOffToggle is blank or omitted, it defaults to Toggle
. 단어 Topmost를 AlwaysOnTop 대신 사용할 수 있습니다.
[v1.1.30+]: The decimal values 1, 0 and -1 may be used in place of On, Off and Toggle, respectively.
창을 스택 하단으로 보냅니다; 즉, 모든 창의 아래로 보냅니다.
WinSet, Bottom ,, WinTitle, WinText, ExcludeTitle, ExcludeText
Alt+Esc를 누른 것과 효과가 비슷합니다.
창을 명시적으로 활성화하지 않고 스택 상단으로 올립니다.
WinSet, Top ,, WinTitle, WinText, ExcludeTitle, ExcludeText
그렇지만, 시스템의 기본 설정 때문에 아마도 대부분의 경우 활성화될 것입니다. 게다가, 이 부-명령어는 운영 체제의 보호 때문에 아무 효과가 없을 수 있습니다. 운영체제는 초점을 훔치려고 시도하는 어플리케이션으로부터 사용자를 보호합니다 ( 어떤 유형이 창이 현재 활성화되어 있는가 그리고 사용자가 어떤 일을 하는가와 같은 여러 요인에 따라 달라질 수 있습니다). 한 가지 가능한 우회책은 창을 잠시 AlwaysOnTop으로 만든 다음, AlwaysOnTop을 끄는 것입니다.
Disables a window.
WinSet, Disable ,, WinTitle, WinText, ExcludeTitle, ExcludeText
창이 꺼지면 사용자는 그의 콘트롤과 상호작용을 할 수 없고 창도 이동할 수 없습니다. 게다가, 꺼진 창은 알트-탭 리스트에서도 빠집니다.
Enables a window.
WinSet, Enable ,, WinTitle, WinText, ExcludeTitle, ExcludeText
Redraws a window.
WinSet, Redraw ,, WinTitle, WinText, ExcludeTitle, ExcludeText
This sub-command attempts to update the appearance/contents of a window by informing the OS that the window's rectangle needs to be redrawn. If this approach does not work for a particular window, try WinMove. If that does not work, try WinHide in combination with WinShow.
Changes the style of a window.
WinSet, Style, N , WinTitle, WinText, ExcludeTitle, ExcludeText
<s0>N</s0> 첫 문자가 플러스 또는 마이너스 사인이면 <s1>N</s1>에 있는 스타일이 추가되거나 제거됩니다. 첫 문자가 캐럿 (^)이면, N에 있는 스타일들이 각각 반대 상태로 토글됩니다. 첫 문자가 숫자이면, 창의 스타일은 완전히 덮어씌여집니다; 즉, N이 됩니다.
ErrorLevel은 실패시 1 그리고 성공시 0이 설정됩니다. 목표 창이 발견되지 않으면 또는 스타일 적용을 허용하지 않으면 실패가 일어납니다.
After applying certain style changes to a visible window, it might be necessary to redraw the window using the Redraw sub-command above. 마지막으로, 스타일 테이블에 흔히 사용되는 스타일 번호가 나열되어 있습니다. 예를 들어:
WinSet, Style, -0xC00000, A ; 활성 창의 제목 바를 제거합니다 (WS_CAPTION).
Changes the extended style of a window.
WinSet, ExStyle, N , WinTitle, WinText, ExcludeTitle, ExcludeText
See the Style sub-command for details. 예를 들어:
WinSet, ExStyle, ^0x80, WinTitle ; WS_EX_TOOLWINDOW 속성을 토글합니다. 알트-탭 리스트로부터 창이 제거되거나/추가됩니다.
창의 모습을 지정한 사각형, 타원 또는 다각형으로 변경합니다.
WinSet, Region , Options, WinTitle, WinText, ExcludeTitle, ExcludeText
If the Options parameter is blank or omitted, the window is restored to its original/default display area. 그렇지 않으면, 다음 옵션 중 하나 이상을 조합해 지정할 수 있습니다. 각 옵션은 다음 옵션과 스페이스(들)로 구분합니다:
Wn: 사각형이나 타원의 너비. 예를 들어: w200
.
Hn: 사각형이나 타원의 높이. 예를 들어: h200
.
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이 설정됩니다. 실패는 다음과 같은 경우 일어납니다: 1) 목표 창이 존재하지 않는다; 2) 하나 이상의 Options 옵션이 무효하다; 3) 2000 쌍이 넘게 좌표를 지정했다; 4) 지정된 범위가 무효하거나 목표 창에 적용할 수 없다.
See example #7 at the bottom of this page for how to use this sub-command.
When a region is set for a window owned by the script, the system may automatically change the method it uses to render the window's frame, thereby altering its appearance. The effect is similar to workaround #2 shown below, but only affects the window until its region is reset.
알려진 한계: Setting a region for a window not owned by the script may produce unexpected results if the window has a caption (title bar), and the system has desktop composition enabled. This is because the visible frame is not actually part of the window, but rendered by a separate system process known as the "desktop window manager". Note that desktop composition is always enabled on Windows 8 and later. One of the following two workarounds can be used:
; #1: Remove the window's caption. WinSet Style, -0xC00000, Window Title ; To undo it: WinSet Style, +0xC00000, Window Title
; #2: Disable DWM rendering of the window's frame. DllCall("dwmapi\DwmSetWindowAttribute", "ptr", WinExist("Window Title") , "uint", DWMWA_NCRENDERING_POLICY := 2, "int*", DWMNCRP_DISABLED := 1, "uint", 4) ; To undo it (this might also cause any set region to be ignored): DllCall("dwmapi\DwmSetWindowAttribute", "ptr", WinExist("Window Title") , "uint", DWMWA_NCRENDERING_POLICY := 2, "int*", DWMNCRP_ENABLED := 2, "uint", 4)
창을 반-투명하게 만듭니다.
WinSet, Transparent , N, WinTitle, WinText, ExcludeTitle, ExcludeText
N에 0부터 255 사이의 숫자를 지정하면 투명도를 조절할 수 있습니다: 0이면 창이 보이지 않고 255이면 완전 불투명하게 됩니다.
단어 Off
를 지정하면 창에 완전히 투명 효과를 끌 수 있습니다. This is functionally identical to WinSet, TransColor, Off, WinTitle
. Specifying Off
is different than specifying 255 because it may improve performance and reduce usage of system resources.
For example, to make the task bar transparent, use WinSet, Transparent, 150, ahk_class Shell_TrayWnd
. Similarly, to make the classic Start Menu transparent, see example #5. To make the Start Menu's submenus transparent, also include the script from example #6.
Setting the transparency level to 255 before using Off
might avoid window redrawing problems such as a black background. 창이 여전히 올바르게 다시 그려지는 데 실패하면, 가능한 우회책은 Redraw를 참조하십시오.
[v1.1.24.05+]: This sub-command also works with a window that lacks a caption (title bar) and lacks the always-on-top property.
선택된 색깔의 모든 픽셀을 목표 창에서 보이지 않게 만듭니다.
WinSet, TransColor, Color , WinTitle, WinText, ExcludeTitle, ExcludeText
This allows the contents of the window behind it to show through. 사용자가 보이지 않는 픽셀을 클릭하면, 그 클릭은 창 뒤로 "뚫고 전달됩니다". Color에는 컬러 이름 또는 RGB 값을 지정합니다 (색상 차트를 참고하시거나 아니면 RGB 모드로 PixelGetColor를 사용하십시오). 창에서 보이는 부분을 부분적으로 투명하게 만들려면, 스페이스 (쉼표 안됨) 다음에 투명도 (0-255)를 지정하면 됩니다. 예를 들어: WinSet, TransColor, EEAA99 150, WinTitle
.
단어 Off
를 지정하면 창에 완전히 투명 효과를 끌 수 있습니다. This is functionally identical to WinSet, Transparent, Off, WinTitle
. Specifying Off
is different than specifying 255 because it may improve performance and reduce usage of system resources.
TransColor는 종종 화면-위-그림 그리고 기타 시각 효과를 얻기 위해 사용됩니다. 화면-위-그림 예제는 Gui 페이지의 하단에 보여줍니다.
Setting the transparency level to 255 before using Off
might avoid window redrawing problems such as a black background. 창이 여전히 올바르게 다시 그려지는 데 실패하면, 가능한 우회책은 Redraw를 참조하십시오.
창에서 기존의 TransColor를 변경하려면, 변경하기 전에 먼저 투명효과를 끌 필요가 있습니다.
[v1.1.24.05+]: This sub-command also works with a window that lacks a caption (title bar) and lacks the always-on-top property.
ErrorLevel은 위에 제시된 경우를 제외하고 이 명령어로 바뀌지 않습니다.
투명 효과는 Windows 2000/XP 이상이면 지원하지만, 창의 현재 투명도 설정을 열람하는 것은 (WinGet을 통하여) Windows XP 이상에서만 가능합니다.
스크립트의 SplashText 창은 다음을 통하여 비-AlwaysOnTop으로 만들 수 있습니다:
WinSet, AlwaysOnTop, Off, My Splash Window Title
창 제목과 텍스트는 대소문자를 구분합니다. 숨은 창은 DetectHiddenWindows가 켜져 있어야 탐지됩니다.
WinGet, WinHide, WinSetTitle, WinMove, WinActivate, Control
Makes all white pixels in Notepad invisible. This example may not work well with the new Notepad on Windows 11 or later.
WinSet, TransColor, White, Untitled - Notepad
Demonstrates the effects of the sub-commands Transparent and TransColor. 주의: If you press one of the hotkeys while the mouse cursor is hovering over a pixel that is invisible as a result of TransColor, the window visible beneath that pixel will be acted upon instead! Also, Win+G will have an effect only on Windows XP or later because retrieval of transparency settings is not supported by 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
Makes the classic Start Menu transparent (to additionally make the Start Menu's submenus transparent, see example #6).
DetectHiddenWindows, On WinSet, Transparent, 150, ahk_class BaseBar
Makes all or selected menus transparent throughout the system as soon as they appear. 이런 스크립트는 자신의 메뉴는 투명하게 만들지 못하지만 다른 스크립트의 메뉴는 투명하게 만들 수 있습니다.
#Persistent SetTimer, WatchForMenu, 5 return ; 자동 실행 섹션의 끝. WatchForMenu: DetectHiddenWindows, On ; 메뉴의 탐지를 곧 허용합니다. if WinExist("ahk_class #32768") WinSet, Transparent, 150 ; 윗 줄에서 발견된 창을 사용합니다. return
Usage of the Region sub-command. These examples may not work well with the new Notepad on Windows 11 or later.
The following makes all parts of Notepad outside this rectangle invisible.
WinSet, Region, 50-0 W200 H250, ahk_class Notepad
The following does the same as above but with corners rounded to 40x40.
WinSet, Region, 50-0 W200 H250 R40-40, ahk_class Notepad
The following creates an ellipse instead of a rectangle.
WinSet, Region, 50-0 W200 H250 E, ahk_class Notepad
The following creates a triangle with apex pointing down.
WinSet, Region, 50-0 250-0 150-250, ahk_class Notepad
The following restores the window to its original/default display area.
WinSet, Region,, ahk_class Notepad
The following creates a see-through rectangular hole inside Notepad (or any other window). 아래에 두 개의 사각형을 지정합니다: 바깥과 안쪽. 각 사각형은 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, ahk_class Notepad