NextActiveWindow

概要:

baNextActiveWindowは次にアクティブになるウィンドウを返します。

シンタックス: Result = baNextActiveWindow( TimeOut )

パラメータ: #integer
TimeOut 待ち時間の最大チック数。1チックは1/60秒です。0を指定した場合は無期限になります。

戻り値: #integer
次にアクティブになったウィンドウのハンドルを返します。
次のウィンドウがアクティブになる前にタイムアウトが発生した場合は0を返します。

例: wnd = baNextActiveWindow( 300 ) -- 次のウィンドウがアクティブになるまで最大5秒待ちます

ノート: 次にアクティブになるウィンドウの定義は、プログラムを呼び出しているDirectorのウィンドウではなく、ダイアログボックスあるいはスプラッシュスクリーンではない次のウィンドウです。主にbaRunProgramやbaOpenFileを使った後にそのプログラムが開いたウィンドウのハンドルを取得するのに使います。特にスプラッシュスクリーンを伴うNetscapeやAcrobatといったアプリケーションには便利です。

次のサンプルは、DirectorからAcrobatを開き、ユーザが使い終わったあとに閉じる例です。

if baOpenFile( "readme.pdf" , "normal" ) > 32 then -- Acrobatファイルを開く
    wnd = baNextActiveWindow( 0 ) -- Acrobatのウィンドウハンドルを取得
    baWaitForWindow( baWinHandle() , "active" , 0 ) -- Directorのウィンドウがアクティブになるのを待つ。つまりAcrobatが閉じられたか、ユーザがDirectorに切り替えたことを示す
    if baWindowExists( wnd ) then baCloseWindow( wnd ) -- Acrobatを閉じる
end if

関連項目: baWaitTillActive
baWaitForWindow
baActiveWindow