MDIアクティブウィンドウ取得関数

ついでに、面倒なことせんでもアクティブ子ウィンドウはSendMessageで取れるらしいのでそれも上げときます。

MdiGetActive(WinTitle="", MdiClientName="")
MDIにおいて現在アクティブなウィンドウのハンドルを取得する
MdiGetActive(WinTitle="", MdiClientName="")
;----------------------------------------------------------------------
;   MDIにおいて現在アクティブなウィンドウのハンドルを取得する
;       対象: AHK v1.0.34以降       作成 : 2005.11.21
;   in  WinTitle        対象親ウィンドウ (省略時:アクティブウィンドウ)
;       MdiClientName   MDIクライアント名(省略時:MdiClient1)
;   戻り値:MDI子ウィンドウハンドル
;----------------------------------------------------------------------
{
    ifEqual,WinTitle,,  SetEnv,WinTitle,A
    if (MdiClientName = "")
    {
        MdiClientName := "MdiClient1"
        WinGetClass,cls,%WinTitle%
        ifEqual cls,XLMAIN,     SetEnv,MdiClientName,XLDESK1
    }

    SendMessage, 0x229 , 0, 0, %MdiClientName%, %WinTitle%  ;WM_MDIGETACTIVE
    ifEqual ErrorLevel,FAIL,    return 0
    else                        return %ErrorLevel%
}