Определите, указывает ли дескриптор на элемент экрана (а не на принтер и т. Д.) - PullRequest
0 голосов
/ 04 июля 2019

Я ищу способ определить, ссылается ли дескриптор на экран / что-либо (экран, окно, элемент управления, весь виртуальный рабочий стол и т. Д.).

Я пытаюсь стандартизировать разрешение интерфейса, чтобы я мог последовательно сохранить его и провести на нем нерегрессионное тестирование. Поэтому я подключил пару системных вызовов, таких как GetDeviceCaps , чтобы я мог перехватить разрешение и изменить его на согласованный 96DPI.

Пока я нашел GetObjectType , который не обязательно говорит мне, является ли объект частью экрана (по сравнению с OBJ_DC и OBJ_MemDC ) , Сочетая это с WindowFromDC , я могу получить немного более показательный результат, но он все еще не идеален.

Я подумал, что, возможно, я мог бы использовать EnumDisplayMonitors со значением NULL для первых двух параметров, но, похоже, он никогда не работал.

У кого-нибудь есть надежный способ сказать, ссылается ли дескриптор на экранный объект или нет?

Заранее спасибо! Loren

...