Я нашел Программирование Windows все еще полезным. Благодаря акценту Microsoft на обратную совместимость все основные элементы (дескрипторы окон, сообщения, GDI и т. Д.), По-видимому, все еще актуальны и хорошо освещены в Petzold. (Если бы что-то изменилось слишком сильно, это сломало бы слишком много существующих программ Windows, и огромное количество существующих программ Windows - большая часть преимущества Windows на рынке.)
Есть определенные новые API - интерфейсы, такие как настройки API , в пул потоков API , и GDI + , и появляются новые темы , такие как работа в контексте в Vista и 7 в UAC. Есть также несколько отдельных новых функций, которые Petzold не охватывает, но достаточно просто искать новые темы в MSDN по мере необходимости. Программирование Windows также не охватывает COM, который может быть большой частью программирования Windows.
Имейте в виду, что API, который охватывает Petzold, является низкоуровневым и основанным на C. (Есть несколько более новых API, таких как GDI + и некоторые из COM-объектов, которые являются объектно-ориентированными.) Практически любая современная разработка будет объектно-ориентированной и часто будет использовать каркас, такой как .NET или Qt или Delphi VCL, так что вы редко будете писать законченные приложения, которые выглядят как пример кода в Программировании Windows ; Тем не менее, он все еще отлично подходит для объяснения того, что происходит под капотом.
Некоторое время назад я огляделся и не смог найти никаких новых ссылок на API. Я подозреваю, что это из-за огромного размера текущих API Windows; Программирование Windows, 5-е издание , уже насчитывает почти 1500 страниц, книга, в которой освещалось бы что-то новое, была бы слишком большой. Я нашел несколько интересных приложений для программирования Windows , хотя я еще не читал их:
- Essential COM , от Don Box - Некоторые из новых API-интерфейсов Vista основаны на COM, а Petzold не охватывает COM.
- Системное программирование Windows , Джонсон М. Харт - кажется, полностью пропускает GUI и GDI, которые Petzold так хорошо описывает, но в нем гораздо больше подробностей о современных подходах, таких как многопоточность, IPC и т. Д.
- Windows Internals , Руссонович, Соломон и Ионеску - меньше об API и больше о том, как Windows работает под капотом. Руссонович, вероятно, знает об этом больше, чем кто-либо внутри или за пределами Microsoft.