오래 전에 Windows에는 X-Mouse라는 PowerToy (나중에 TweakUI)가 있었는데, 그 중에서도 "포커스"와 "전경"이 같은 것이 아닌 구식 X "포커스가 마우스를 따릅니다"를 지원했습니다. 더 이상 유지되지 않는다고 생각합니다 (최종 목격은 WinXP였습니다).
광범위하게 사용하지는 않았지만 무료 Windows 스크립팅 도구 인 AutoIT 는 짧은 스크립트로 원하는 작업을 수행 할 수 있습니다.
#include <WinAPI.au3>
#include <Constants.au3>
#include <WindowsConstants.au3>
#include <MenuConstants.au3>
#include <SendMessage.au3>
Local $hWnd,$flags,$regexp
Func MyExit()
MsgBox(0,"Drop Window","Quitting!",2)
Exit 0
EndFunc
$flags = BitOr($SWP_NOMOVE,$SWP_NOSIZE,$SWP_NOACTIVATE,$SWP_ASYNCWINDOWPOS,$SWP_NOSENDCHANGING)
;; hot key to call exit: ALT + F11
HotKeySet("!{F11}","MyExit")
;; application window title
$regexp=".*Notepad$"
;; 10 second time out on first startup,
$hWnd = WinWait("[REGEXPTITLE:" & $regexp & "]", "", 10)
;; or wait forever
;$hWnd = WinWait("[REGEXPTITLE:" & $regexp & "]")
If ($hWnd) Then
;; uncomment next line to maximize window first
;_SendMessage($hWnd,$WM_SYSCOMMAND,$SC_MAXIMIZE)
_WinAPI_SetWindowPos($hWnd, $HWND_BOTTOM, 0, 0, 0, 0, $flags);
While 1
If WinWaitActive($hWnd,"",10) Then
_WinAPI_SetWindowPos($hWnd, $HWND_BOTTOM, 0, 0, 0, 0, $flags);
EndIf
;; check for new window
$hWnd = WinWait("[REGEXPTITLE:" & $regexp & "]","",1)
;; uncomment next 3 lines to quit if no window
;if (NOT $hWnd) Then
; MyExit()
;EndIf
Sleep(250)
Wend
Else
MsgBox(0,"Drop Window","No window title matching /" & $regexp & "/")
EndIf
"맨 위"는 WM이 유지하는 지속적인 창 속성으로, "맨 아래"와 같은 것이 없으므로 조금 퍼지해야합니다.
While 루프는 응용 프로그램이 포 그라운드를 얻을 때까지 기다린 다음 키보드 포커스를 유지하면서 다시 떨어 뜨립니다. 모달 팝업은 때때로 이것을 방해 할 수 있지만 꽤 사용 가능해야합니다. 감시 된 프로그램이 종료 된 후에도 스크립트는 백그라운드에서 계속 실행됩니다. 언제든지 종료하려면 Alt + F11을 누르십시오.
"mIRC"또는 기타와 일치하도록 $ regexp를 변경하십시오. 위의 내용은 한 번에 하나의 창만 안정적으로 처리합니다. 창 제목 이외의 창을 일치시키는 방법을 보려면 WinWait ()에 대한 AutoIT 문서를 읽으십시오.
dropwindow.au3에 저장하고 "autoit3 dropwindow.au3"로 실행하십시오.
http://www.autoitscript.com/site/autoit/downloads/
foreground
있습니다.