Vor langer Zeit hatte Windows ein PowerToy (später in TweakUI) namens X-Mouse, das unter anderem X-Fokus "Maus folgt Maus" im alten Stil unterstützte, wobei "Fokus" und "Vordergrund" nicht dasselbe waren. Ich glaube nicht, dass es mehr gepflegt wird (letzte Sichtung war für WinXP).
Obwohl ich es nicht ausgiebig verwendet habe, kann das kostenlose Windows-Skript-Tool AutoIT mit einem kurzen Skript das tun, was Sie wollen:
#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" ist eine dauerhafte Fenstereigenschaft, die von der WM beibehalten wird. Es gibt kein gleichwertiges "bottom most", daher müssen wir sie ein wenig durcheinander bringen.
Die While-Schleife wartet darauf, dass die Anwendung den Vordergrund erhält, und legt sie dann wieder ab, während der Tastaturfokus beibehalten wird. Modale Popups können dies manchmal stören, sollten aber durchaus brauchbar sein. Das Skript wird nach dem Beenden des überwachten Programms weiterhin im Hintergrund ausgeführt. Alt + F11, um es jederzeit zu beenden.
Ändern Sie $ regexp so, dass es mit "mIRC" oder was auch immer übereinstimmt. Das oben Genannte behandelt jeweils nur ein Fenster zuverlässig. Lesen Sie die AutoIT-Dokumente für WinWait (), um zu sehen, wie andere Fenster als nach Fenstertitel abgeglichen werden.
Speichern Sie in dropwindow.au3 und führen Sie es mit "autoit3 dropwindow.au3" aus.
http://www.autoitscript.com/site/autoit/downloads/
foreground
.