Я думаю, что запись в блоге Раймонда Чена, на которую указывает первая ссылка, дает вам представление о том, куда вы хотите пойти. По сути, вы вызываете EnumWindows и затем применяете этот алгоритм, за исключением того, что вы принимаете к сведению каждый видимый дескриптор окна.
Вопрос немного расплывчатый, какова цель здесь (может быть, лучший способ дать больше информации).