Windowsアプリケーション(C#+Win32 API)です。自ウィンドウがスクリーン上に表示されていても、他プロセスのウィンドウが重なることによって、実際に見えている領域と見えていない領域が生まれます。
自ウィンドウが非アクティブ状態において、自分自身のウィンドウでスクリーン上に表示されていない領域(他のウィンドウによって遮られている領域)を調べたいのですが、どういった方法が考えられるでしょうか?
EnumWindowsでトップレベルウィンドウの列挙を取得、GetWindowRectで取得した各ウィンドウのスクリーン座標と自分自身の位置を比較みたいな泥臭いことしか思い浮かびません。もっとスマートな方法はないものでしょうか?
他のウィンドウとの重なりを考慮したスクリーンに表示されている領域を取得みたいなAPIがあると一番いいのですが。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/25 00:09