창을 항상 다른 창 아래에 유지하는 Windows 7 기능 또는 프리웨어

창을 항상 다른 창 아래에 유지하는 Windows 7 기능 또는 프리웨어

GridMove 및 XNeat와 같은 일부 프로그램에서는 사용자가 "Always On Top" 명령을 사용하여 특정 창을 다른 창 위에 유지할 수 있습니다. 다른 모든 창을 "Always On Top"으로 만드는 방법을 제외하고 Windows 7 명령이나 프리웨어를 사용하여 "Always At The Bottom"과 같은 반대 작업을 수행할 수 있는 방법이 있습니까?

채팅 프로그램 UI의 나머지 부분이 공간을 어지럽히지 않고 창 틈을 통해 볼 수 있는 최신 메시지와 텍스트 입력 필드만 포함하여 모든 창 아래에 채팅 프로그램(입력이 발생하는)을 유지하는 것이 때로는 유용합니다.

답변1

오래 전 Windows에는 X-Mouse라는 PowerToy(나중에 TweakUI에서)가 있었습니다. 이 기능은 무엇보다도 "포커스"와 "전경"이 동일하지 않은 구식 X "포커스가 마우스를 따릅니다"를 지원했습니다. 나는 그것이 더 이상 유지된다고 믿지 않습니다(마지막 목격은 WinXP에 대한 것이었습니다).

광범위하게 사용하지는 않았지만 무료 Windows 스크립팅 도구오토IT짧은 스크립트로 원하는 것을 할 수 있습니다:

#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을 누르세요.

$regexp를 "mIRC" 또는 기타 항목과 일치하도록 변경하세요. 위의 방법은 한 번에 하나의 창만 안정적으로 처리합니다. 창 제목 이외의 창을 일치시키는 방법을 보려면 WinWait()에 대한 AutoIT 문서를 읽어보세요.

dropwindow.au3에 저장하고 "autoit3 dropwindow.au3"으로 실행하세요.

http://www.autoitscript.com/site/autoit/downloads/

답변2

ATI Radeon 그래픽 카드가 장착된 PC가 있는 경우 최신 ATI 드라이버 및 유틸리티와 함께 ​​HydraGrid를 사용할 수 있습니다.윈스플릿 혁명.

관련 정보