2016/9/11(Sun) 14:53:02|NO.76858
回答がないので、作成手順を書いておく。
(下記に記載する命令は、すべて WinAPI です。HSP命令では取得できませんのであしからず)
(尚、重なっているウィンドウの裏ウィンドウを取得できるのは DWM が有効時のみです)
1. まず、現在作成されているすべてのウィンドウハンドルを取得(EnumWindows・GetWindow など)
(ここで取得した順序が Z座標順となります)
2. 自身のウィンドウハンドルがどの位置に存在するか調べる
(この位置とはウィンドウの階層 Z位置です)
3. 2で位置を調べたらその 2の位置から奥にあるトップレベルウィンドウのハンドルを取得
(自身の位置より一個奥のウィンドウハンドルのオーナーハンドルがトップレベルウィンドウのハンドル)
4. 3で取得したウィンドウハンドルを用いて、デバイスコンテキストを取得(GetDC)
5. 4で取得したデバイスコンテキストで、GetPixel を行う。
6. GetPixel で取得したら、デバイスコンテキストを解放する (ReleaseDC)
7. GetPixel で取得した色を主の思うように使う。
EnumWindows は通常では使用できませんのでHSP掲示板で「コールバック」などを検索してください。
|