Как система находит класс окна

Система поддерживает список структур для каждого из трех типов классов окон. Когда приложение вызывает функцию CreateWindow или CreateWindowEx для создания окна с указанным классом, система использует следующую процедуру для поиска в класс:

  1. Поиск в списке местные классов приложений для класса с указанным именем, дескриптор которого экземпляр совпадает дескриптор экземпляра модуля. (Несколько модулей можно использовать то же имя для регистрации местных классы в одном процессе).
  2. Если имя отсутствует в списке приложений локального класса, поиск в списке глобальных классов приложений.
  3. Если имя не в списке Глобальный класс приложения, поиск в списке системных классов.

Эта процедура, включая windows, созданные системой, от имени приложения, таких как диалоговые окна используется все окна, созданных приложением. Это позволяет переопределить системные классы не влияя на работу приложений. То есть приложение может зарегистрировать приложение локального класса с тем же именем, как системный класс. Это заменяет класс системы в контексте приложения, но не мешает другим приложениям использовать класс системы.

Index