Beberapa waktu yang lalu, Windows memiliki PowerToy (kemudian di TweakUI) yang disebut X-Mouse yang, antara lain, mendukung X gaya lama "fokus mengikuti mouse", di mana "fokus" dan "latar depan" bukan hal yang sama. Saya tidak percaya itu dipertahankan lagi (penampakan terakhir adalah untuk WinXP).
Meskipun saya belum menggunakannya secara luas, alat skrip Windows gratis AutoIT dapat melakukan apa yang Anda inginkan dengan skrip pendek:
#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
"paling atas" adalah properti jendela persisten yang dipertahankan WM, tidak ada padanan "terbawah", jadi kita harus sedikit memperdayainya.
Loop Sementara menunggu aplikasi untuk mendapatkan latar depan, lalu menjatuhkannya kembali sambil menjaga fokus keyboard. Modal popup kadang-kadang dapat mengganggu ini, tetapi harus cukup bermanfaat. Skrip akan terus berjalan di latar belakang setelah program yang ditonton berakhir. Alt + F11 untuk keluar kapan saja.
Ubah $ regexp untuk mencocokkan "mIRC" atau apa pun. Di atas hanya andal akan menangani satu jendela pada suatu waktu. Baca dokumen AutoIT untuk WinWait () untuk melihat cara mencocokkan jendela selain dengan judul jendela.
Simpan ke dropwindow.au3 dan jalankan dengan "autoit3 dropwindow.au3".
http://www.autoitscript.com/site/autoit/downloads/
foreground
.