O Windows facilita a extensibilidade por ter contratos muito explícitos sobre o que o sistema fará e o que o programa que você escreve deve fazer. A Microsoft atribui um alto valor à compatibilidade com versões anteriores e, se documentassem as interfaces para criação de um tema personalizado (por meio da substituição de themeui.dll
), seria esperado que não fossem quebradas em cada lançamento, o que limitaria seriamente sua capacidade de iterar em seu design de interface do usuário.
Todas as versões do Windows desde o XP fizeram alterações significativas na aparência geral e na operação das várias partes da interface do usuário. Manter um contrato compatível por meio de várias iterações seria um pesadelo (pequeno exemplo ). >).
Além disso, a programação da shell é HARD. Você não precisa apenas antecipar as falhas do seu próprio código, mas o código do processo em que você está carregado. Os outros módulos com os quais você é forçado a brincar engraçado coisas com estado global e geralmente dificultam a sua vida. E como o relatório de falhas diz "explorer.exe", qualquer falha no seu código faz a Microsoft parecer ruim.
Se essas não forem razões técnicas suficientes, alterar a aparência visual fragmentará ainda mais a identidade do "Windows", da mesma forma que o Android está atualmente tendo uma crise de identidade. Isso complica o treinamento e, no final das contas, realmente não faz nada para melhorar significativamente a usabilidade do sistema.