Windows 7功能或免费软件使窗口始终位于其他窗口之下

Modified on: Tue, 12 Feb 2019 10:40:02 +0800

某些程序,例如GridMove和XNeat允许用户使用“Always On Top”命令将给定窗口保持在其他窗口之上。有没有办法用任何Windows 7命令或免费软件进行相反的操作,即“始终在底部”,除非使所有其他窗口“始终在顶部”?

在所有窗口下方保留聊天程序(进行打字)有时很有用,只有通过窗口间隙可见的最新消息和文本输入字段,而聊天程序的其余部分UI不会占用空间。

作者:Gnubie

最佳答案

很久以前,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

“topmost”是WM维护的持久窗口属性,没有等效的“最底层”,所以我们必须稍微捏一下。

While循环等待应用程序获取前景,然后再次将其放下,同时保持键盘焦点。模态弹出窗口有时可能会干扰它,但它应该非常实用。脚本将在观看的程序终止后继续在后台运行。 Alt + F11随时退出。

更改$ regexp以匹配“mIRC”或其他任何内容。以上只能一次可靠地处理一个窗口。
阅读WinWait()的AutoIT文档,了解如何匹配除窗口标题以外的窗口。

保存到dropwindow.au3并使用“autoit3 dropwindow.au3”运行它。

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


相关问答

添加新评论