WinActivate
지정된 창을 활성화합니다 (가장 앞으로 나오게 합니다).
WinActivate [, WinTitle, WinText, ExcludeTitle, ExcludeText]
매개변수
- WinTitle
창 제목 또는 목표 창을 식별하는 기타 기준. WinTitle 참조.
- WinText
존재하면, 이 매개변수는 목표 창 텍스트의 부문자열입니다 (Window Spy에 노출). 숨은 텍스트는 DetectHiddenText이 켜져 있어야 탐지됩니다.
- ExcludeTitle
제목에 이 값이 있는 창은 무시됩니다.
- ExcludeText
텍스트에 이 값이 있는 창은 제외됩니다.
논평
창이 최소화되어 있다면, 그 창을 활성화하기 전에 먼저 자동으로 복구합니다. v1.1.20 이후에서, 창이 이미 활성화되어 있어도 복구합니다.
목표 창을 복구하려는 시도를 60ms 동안 여섯 번 합니다. 그리하여, 보통 WinActivate 다음에 WinWaitActive이나 IfWinNotActive가 따라올 필요가 없습니다.
부합하는 창이 이미 활성화되어 있으면, 그 창이 활성화 상태를 유지합니다. 그 아래의 다른 부합하는 창들을 활성화하지 않습니다. 일반적으로, 여러 창이 부합하면, 최상위 (가장 최근에 사용된) 창이 활성화됩니다. 최하위 (가장 오랫동안 사용되지 않은) 창은 WinActivateBottom을 통하여 활성화할 수 있습니다.
[v1.1.20+]: 활성 창이 숨어 있고 DetectHiddenWindows가 꺼져 있으면, 전혀 부합 대상으로 고려되지 않습니다. 대신에, 보이는 창이 부합하면 그 창이 활성화됩니다.
다른 창을 활성화한 후 곧바로 창이 활성화될 때, 어떤 시스템에서는 태스크 바 버튼이 깜박이기 시작할 것입니다 (OS와 그의 환경 설정에 따라 다름). 이를 피하려면 #WinActivateForce를 사용하십시오.
창 제목과 텍스트는 대소문자를 구분합니다. 숨은 창은 DetectHiddenWindows가 켜져 있어야 탐지됩니다.
알려진 문제: 스크립트가 원격 데스크탑을 통하여 접근중인 컴퓨터 또는 서버 위에서 실행중이라면 , 그 원격 데스크탑 클라이언트가 최소화될 경우 WinActivate가 마비될 수 있습니다. 한 가지 우회책은 창 활성화를 요구하지 않는 명령어를 사용하는 것입니다. 예를 들어 ControlSend 그리고 ControlClick를 사용하십시오. 또다른 우회책은 다른 레지스트리 설정을 로컬/클라이언트 컴퓨터에 적용하는 것입니다:
; HKCU을 HKLM으로 바꾸어 시스템의 모든 사용자에게 영향을 줍니다. RegWrite REG_DWORD, HKCU, Software\Microsoft\Terminal Server Client , RemoteDesktop_SuppressWhenMinimized, 2
관련 항목
WinActivateBottom, #WinActivateForce, SetTitleMatchMode, DetectHiddenWindows, 마지막 발견 창, IfWinExist, IfWinActive, WinWaitActive, WinWait, WinWaitClose, WinClose, GroupActivate, WinSet
예제
IfWinExist, Untitled - Notepad WinActivate ; 위에서 발견한 창을 사용합니다 else WinActivate, Calculator