Я вважаю, що програмування Windows як і раніше корисне. Завдяки акцентуванню Microsoft на зворотній сумісності, всі основні елементи (ручки вікон, повідомлення, GDI тощо) здаються все ще актуальними і добре висвітлюються в Petzold. (Якщо щось зміниться занадто кардинально, це може зламати занадто багато існуючих програм Windows, і величезна кількість існуючих програм Windows є великою частиною переваги Windows на ринку.)
Існують конкретні нові API, такі як Setup API , API Thread Pool і GDI + , і з’являються нові теми, такі як робота в контексті UAC Vista та 7 UAC. Існує також кілька нових функцій, які Petzold не охоплює, але досить просто шукати нові теми на MSDN за потребою. Програмування Windows також не охоплює COM, що може бути великою частиною програмування Windows.
Майте на увазі, що API, який охоплює Petzold, є низьким рівнем та на базі С. (Є кілька новіших API, таких як GDI + та деякі елементи COM, які об'єктно-орієнтовані.) Практично будь-яка сучасна розробка буде об'єктно-орієнтована і часто використовуватиметься такі рамки, як .NET або Qt або VCL Delphi, тож ви рідко пишу повні програми, схожі на код прикладу в програмуванні Windows ; однак це все ще чудово для пояснення того, що відбувається під капотом.
Я деякий час тому оглянувся і не зміг знайти більше нових посилань на API. Я підозрюю, що це через розмір поточних API-програм Windows; Програмування Windows, 5-е видання триває майже 1500 сторінок, книга, яка висвітлює все нове, була б занадто величезною. Я знайшов пару цікавих прикладів до програмування Windows , хоча ще не прочитав:
- Основний COM , Дон Бокс - Деякі нові API Vista засновані на COM, а Petzold не охоплює COM.
- Програмування системи Windows , Джонсон М. Харт, - здається, повністю пропускає GUI та GDI, які Petzold так добре охоплює, але в них є набагато детальніше про сучасні підходи до верхніх багатопотокових, IPC тощо.
- Windows Internals , Руссонович, Соломон та Іонеску - менше про API та більше про те, як Windows працює під капотом. Русонович, можливо, знає про це більше, ніж хтось із Microsoft або поза ним.