O sistema mantém uma lista de estruturas para cada um dos três tipos de classes de janela. Quando um aplicativo chama o CreateWindow ou CreateWindowEx função para criar uma janela com uma classe especificada, o sistema usa o procedimento a seguir para localizar a classe:
Todas as janelas criadas pelo aplicativo usam este procedimento, incluindo windows criados pelo sistema em nome do aplicativo, tais como caixas de diálogo. É possível substituir classes do sistema sem afetar outros aplicativos. Ou seja, um aplicativo pode registrar uma classe local do aplicativo com o mesmo nome que uma classe de sistema. Isso substitui a classe de sistema no contexto do aplicativo, mas não impedir que outros aplicativos usando a classe de sistema.