[xyzzy:06361] Re: 他のアプリを前面に
- Subject: [xyzzy:06361] Re: 他のアプリを前面に
- From: Tomonori Shimomura <chop@xxxxxxxxxxxxxx>
- X-mailer: Becky! ver. 2.00
下村です。
> > ロングマンがそのように作られ
> > ていない限り方法はありません(たぶん)。API を叩けばでき
> > るかもしれませんが。
> > 2000 で回避方法ってありましたっけ?>だれか
C++だったら、こんな風にしていけています。
Lispは、できませんので勘弁してください。
void SetForegroundWindowAbsolutely( HWND hwnd, int flag )
{
int nTargetID, nForegroundID;
// フォアグラウンドウィンドウを作成したスレッドのIDを取得
nForegroundID = GetWindowThreadProcessId( GetForegroundWindow(), NULL);
// 目的のウィンドウを作成したスレッドのIDを取得
nTargetID = GetWindowThreadProcessId( hwnd, NULL );
// スレッドのインプット状態を結び付ける
AttachThreadInput(nTargetID, nForegroundID, TRUE ); // TRUE で結び付け
// 最小化状態だったら元に戻して
if( flag&FG_WND_FLAG_RESTORE && IsIconic(hwnd) ){ ShowWindow( hwnd, SW_RESTORE ); }
// ウィンドウをフォアグラウンドに持ってくる
SetForegroundWindow( hwnd );
// スレッドのインプット状態を切り離す
AttachThreadInput(nTargetID, nForegroundID, FALSE ); // FALSE で切り離し
}
--
Tomonori Shimomura <chop@xxxxxxxxxxxxxx>