If you have a PC equiped with ATI Radeon Graphic Card you may use HydraGrid with the latest ATI drivers and utilities, if not Winsplit Revolution.
Windows 7 особенность или бесплатное программное обеспечение, чтобы держать окно всегда под другими
Некоторые программы, например, GridMove и XNeat, позволяют пользователям сохранять данное окно над другими окнами, используя команду «Всегда сверху». Есть ли способ сделать обратное, то есть «Always At The Bottom» с любыми командами Windows 7 или бесплатными для него, кроме как сделать все остальные окна «Always On Top»?
Иногда полезно держать программы чата (в которых происходит набор текста) под всеми окнами, причем только последние сообщения и поля ввода текста видны через промежутки между окнами, а остальная часть пользовательского интерфейса программы чата не загромождает пространство.
2 ответа на вопрос
Давным-давно в Windows был PowerToy (позже в TweakUI) под названием X-Mouse, который, помимо прочего, поддерживал старый стиль 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("!","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» нет, поэтому мы должны немного его выдумать.
Цикл «Пока» ждет, пока приложение получит передний план, а затем снова опускает его, сохраняя фокус клавиатуры. Модальные всплывающие окна могут иногда мешать этому, но это должно быть вполне применимо. Сценарий будет продолжать работать в фоновом режиме после завершения наблюдаемой программы. Alt + F11, чтобы выйти из него в любое время.
Измените $ regexp, чтобы оно соответствовало "mIRC" или как угодно. Выше будет надежно обрабатывать только одно окно за один раз. Прочитайте документы AutoIT для WinWait (), чтобы узнать, как сопоставить окна, отличные от заголовка окна.
Сохраните файл dropwindow.au3 и запустите его с помощью «autoit3 dropwindow.au3».
Похожие вопросы
-
2
Windows 7 Home Premium запоминает пароли общего доступа к сети?
-
4
Как заблокировать выровненные по правому краю панели инструментов в Windows 7, чтобы они не выглядел...
-
13
Сброс положения Mac OS X Windows после отсоединения внешнего монитора
-
-
4
Функция Windows 7 «Aero Snap» в Ubuntu GNOME
-
3
Мой второй жесткий диск не виден в Windows 7
-
7
Как заменить Блокнот в Windows 7?
-
2
Как расположить значки панели задач Windows 7 в 2 ряда?
-
1
Проблемы во время сна на Windows 7
-
6
Как управлять функцией привязки Windows 7 с помощью двух мониторов?
-
10
Как мне обновить Windows 7 RC до Windows 7 RTM?