Всё!
Мы имеем информацию о всех окнах и используя
идентификатор окна можем получить доступ к ОЧЕНЬ БОЛЬШОМУ КОЛИЧЕСТВУ
параметров окна через WinAPI
Проиллюстрируем четырьмя примерами:
- Спрятать ненужное (читаем, надоевшее) окно. Например, окно системы баннерных показов. Делается так: ShowWindow(TNode(Tree.Selected.Data^).Handle,sw_Hide). Правда эффективного скрытия этого окна нужно работать с собщениями cерии ABM_*, но это другая история.
- Показать упрятанное окно. Обратное действие: ShowWindow(TNode(Tree.Selected.Data^).Handle,sw_Show). Например, слетела панель с кнопкой "Пуск". Все значки в системном трее пропали. Показать окно не представляет проблемы.
- Разрешить запрещенный элемент управления: EnableWindow(TNode(Tree.Selected.Data^).Handle,True). Для чего это нужно, не будем даже и говорить.
- Убить окно: PostMessage(TNode(Tree.Selected.Data^).Handle,wm_Close,0,0). Объяснение — см. пункт 3.
Источник www.delphi.aiq.ru