Всё!

Мы имеем информацию о всех окнах и используя идентификатор окна можем получить доступ к ОЧЕНЬ БОЛЬШОМУ КОЛИЧЕСТВУ параметров окна через 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

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com