掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
自分を非アクティブにしたい (ID:38771)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>>入れてみたんですが「Button」「Shell_TrayWnd」「Afx:400000:b:401d7:5:10225」とかもそちらに入ってしまって判断は難しいですね。 これはたぶん子ウインドウを排除するようにすれば解決すると思います。 そこで、このことを考慮して、torさんのコードを少し変更してみました。 wnd:=Application.Handle; while True do begin wnd:=GetNextWindow(wnd,GW_HWNDNEXT); if IsWindowVisible(wnd) then begin //親ウィンドウのハンドルがある、つまり子ウインドウ //子ウインドウは対象外 while GetParent(wnd)>0 do wnd:=GetParent(wnd); SetForegroundWindow(wnd); Break; end; end; これで、作成プログラムの直前にアクティブだったウインドウが表示されます。 ただ、ブラウザの起動も作成されたプログラムから起動するようにすれば、その方法にもよるとは思いますが、ブラウザウインドウのハンドルも処理の一環で取得できて、スマートだと思います。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.