Windows 7 功能或免费软件可让某个窗口始终位于其他窗口下方

Windows 7 功能或免费软件可让某个窗口始终位于其他窗口下方

某些程序(例如 GridMove 和 XNeat)允许用户使用“始终在最前面”命令将特定窗口保持在其他窗口之上。除了使所有其他窗口“始终在最前面”之外,有没有办法使用任何 Windows 7 命令或免费软件执行相反的操作,即“始终在最下面”?

有时将聊天程序(在其中进行输入)放在所有窗口下方是很有用处的,只有最新消息和文本输入字段可以通过窗口的间隙看到,而不会让聊天程序的其余 UI 占据空间。

答案1

很久以前,Windows 有一个名为 X-Mouse 的 PowerToy(后来更名为 TweakUI),它除其他功能外,还支持旧式 X“焦点跟随鼠标”,其中“焦点”和“前景”不是一回事。我认为它不再维护了(最后一次看到它是针对 WinXP 的)。

虽然我没有广泛使用过,但免费的 Windows 脚本工具汽车信息技术可以用一个简短的脚本做你想做的事情:

#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 维护的持久窗口属性,没有等效的“bottom most”,因此我们必须对其进行一些修改。

While 循环等待应用程序进入前台,然后再次将其置于前台,同时保持键盘焦点。模式弹出窗口有时会干扰此操作,但它应该非常有用。监视程序终止后,脚本将继续在后台运行。Alt+F11 可随时退出。

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

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

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

答案2

如果你的电脑配备了 ATI Radeon 显卡,你可以使用 HydraGrid 和最新的 ATI 驱动程序和实用程序,如果没有温斯普利特革命

相关内容