Вот такой пример был.
SetWinDelay, 0
global hMainGui, hChildGui, hWorkGui
Gui, Main: +hwndhMainGui +LastFound
Gui, Child: +hwndhChildGui -Caption +ParentMain
Gui, Child: Color, 123456
WinSet, TransColor, 123456
Gui, Main: Add, Button, x227 y167 w65 h23 gPlay, Play
Gui, Main: Show, w300 h200
Gui, Child: Show, x10 y10 w280 h150
Gui, Work: +hwndhWorkGui -Caption +ToolWindow +LastFound +OwnerMain
Gui, Work: Add, ActiveX, x0 y0 w280 h150 vWMP, WMPlayer.OCX.7
WMP.url := A_WinDir "\Media\tada.wav"
WMP.controls.stop
WinSet, ExStyle, +0x8000000 ; WS_EX_NOACTIVATE
WinSet, Transparent, 150
WinGetPos, X, Y,,, ahk_id %hChildGui%
Gui, Work: Show, x%X% y%Y% w280 h150 NA
DllCall("RegisterShellHookWindow", "UInt", A_ScriptHwnd)
OnMessage(DllCall("RegisterWindowMessage", "str", "SHELLHOOK"), "ShellProc")
OnMessage(0x3, "WM_MOVE")
OnExit, Exit
Return
Play:
WMP.controls.play
Return
Exit:
DllCall("DeregisterShellHookWindow", "UInt", A_ScriptHwnd)
ExitApp
MainGuiClose:
Gui, Main: Cancel
ExitApp
WM_MOVE(wp, lp, msg, hwnd)
{
if (hwnd != hMainGui)
Return
WinGetPos, X, Y,,, ahk_id %hChildGui%
Gui, Work: Show, x%X% y%Y% NA
}
ShellProc(nCode, wParam)
{
if (nCode = 4 && WinActive("ahk_id" hWorkGui)) ; HSHELL_WINDOWACTIVATED := 4
WinActivate, ahk_id %hMainGui%
}