Eu achei a programação do Windows ainda útil. Graças à ênfase da Microsoft na compatibilidade com versões anteriores, todas as principais coisas (identificadores de janelas, mensagens, GDI etc.) ainda parecem relevantes e estão bem cobertas no Petzold. (Se algo mudasse drasticamente, isso quebraria muitos programas Windows existentes, e o grande número de programas Windows existentes é uma grande parte da vantagem do Windows no mercado.)
Existem novas APIs específicas, como Setup API , Thread Pool API e GDI + , e há novos tópicos, como trabalhar dentro do contexto do Vista e do 7's UAC. Existem também várias novas funções individuais, que o Petzold não cobre, mas é fácil o suficiente procurar tópicos mais recentes no MSDN, conforme necessário. A programação do Windows também não abrange o COM, o que pode ser uma grande parte da programação do Windows.
Lembre-se de que a API que o Petzold cobre é de baixo nível e baseada em C. (Existem algumas APIs mais recentes, como GDI + e algumas das coisas de COM, que são orientadas a objetos.) Virtualmente, qualquer desenvolvimento moderno será orientado a objetos e geralmente usará uma estrutura como .NET ou Qt ou VCL da Delphi, para que você raramente escreveremos aplicativos completos que se parecem com o código de exemplo em Programming Windows ; no entanto, ainda é ótimo para explicar o que está acontecendo sob o capô.
Eu olhei ao redor há um tempo atrás e não consegui encontrar nenhuma referência mais recente à API. Eu suspeito que isso se deve ao tamanho das APIs atuais do Windows; A programação do Windows, 5ª edição, já tem quase 1500 páginas, um livro que abordasse algo novo seria muito grande. Encontrei alguns suplementos interessantes para a programação do Windows , embora ainda não os tenha lido:
- COM essencial , por Don Box - Várias das novas APIs do Vista são baseadas em COM, e Petzold não cobre COM.
- A Programação do Sistema Windows , de Johnson M. Hart - parece ignorar completamente as coisas da GUI e da GDI que o Petzold cobre tão bem, mas possui muito mais detalhes sobre as abordagens modernas, como multithreading, IPC, etc.
- Windows Internals , de Russonovich, Solomon e Ionescu - menos sobre APIs e mais sobre como o Windows funciona sob o capô. Russonovich possivelmente sabe mais sobre isso do que qualquer pessoa dentro ou fora da Microsoft.
O Agendador de tarefas também é novo, muitos novos objetos e interfaces foram adicionados. Antes do Agendador de tarefas 2.0, havia cerca de 5 objetos envolvidos no agendamento de tarefas. Na versão 2.0 (apresentada quando o Vista foi lançado), existem 20, sem brincadeira, 20. Essa é uma das coisas não tão boas sobre a programação win32, mas não é tão ruim assim.
Adoro programar no win32, você aprende muito sobre como o Windows e outros sistemas operacionais operam em um nível mais baixo e isso o torna um programador melhor. Se você programa em python, não aprende sobre como os diretórios são organizados, basta usar
os.listdir("")
. Mas ao usar oFindFirstFile()
&FindNextFile
no win32, você descobre como os diretórios são organizados, descobre os ".." e "." Ocultos. diretórios e a partir daí podem surgir maneiras mais eficientes de catalogar e pesquisar diretórios.Para obter recursos do win32, acesse http://groups.google.com/group/comp.os.ms-windows.programmer.win32/topics
fonte