Я хочу получить только видимую часть окна в windows, как область.
Хотите получить только ту область, которую видит пользователь. Программно, конечно. Вот пример. У меня следующая композиция окна:
+------------------------------------------+
| |
| +=============+ |
| | | |
| | A +--------------------------+
| | | |
| C | | B |
| | +--------------------------+
| | | |
+-----------| |----------------+
| |
+-------------+
Допустим, меня интересует только окно A. Тогда мне понадобится дескриптор области, которая будет выглядеть следующим образом:
+=============+
| |
| A +-----+
| |
| |
| +-----+
| |
| |
| |
+-------------+
В качестве альтернативы, я мог бы получить область любого другого окна следующим образом.
До сих пор я использовал это руководство: http://blogs.msdn.com/b/oldnewthing/archive/2003/09/02/54758.aspx
И я согласен, что GetClipBox возвращает 0, 1, 2 или 3, если у вас, соответственно, 0 -> Ошибка, 1 для NULLREGION (результирующий rgn невидим для пользователя), 2 -> SIMPLEREGION и 3 для COMPLEXREGION. Пока мне нужна сложная область.
Главный вопрос: Но как мне получить ее координаты и размеры ?
(Добавлена информация)
Можно ли восстановить КОМПЛЕКСНЫЙ РЕГИОН ( Это было создано ОС, а не мной) для простых РЕГИОНОВ, из которых он состоит. Фэн Юань предполагает, что вы не можете:
http://www.codeguru.com/forum/archive/index.php/t-126543.html
(Добавлена информация)
Итак, есть ли способ найти область A и преобразовать ее в PolyPath или красивую геометрическую фигуру с координатами ее углов ?
Я использую JNA (Java), кстати, но кода C # или .VB, решающего ту же проблему, было бы достаточно.
Ура.