
This definitive guide has now been updated to cover the significant enchancements of Windows 3.1, including the new Dynamic Data Exchange (DDE) protocol, the printing and TrueType font application programming interface (API), and more. Packed with straightforward explanations, keen insights, tried and tested programming techniques, and scores of sample programs written in C.
- Windows Internals, Parts I and II
- Windows 10 System Programming, Parts I and II
- Windows Kernel Programming, Second Edition
- Programming Windows, 5th and 6th Editions
It is a fantastic book, I learned everything I know on Win32 from it. Wrote real time scientific software in windows for ~10y! We did it all, external hardware control, custom UIs, etc. Thanks Ryan Geiss for your timing info.
Right about VC6 was the sweet spot imo, C/C++ with lightning fast UI for docs and more. Tools got out of the way. Once other languages got involved (C#?) the docs got out of control and harder to use, and the UI started to get a little overloaded.
The snappiness of those old windows systems was pretty great.
You could even do a lot of kernel-level shenanigans with relative impunity thanks to its layered design. You could do some amazing stuff.
As an example, SWSoft released container ("lightweight virtualization") support for Windows in 2005, before containers were even a thing in the mainline Linux. They did that by adding a layer of redirection on top of the kernel objects without having access to Windows source code.
Programming Windows covers systems programming in C and in later editions, in C#.
Inside Windows goes over the Window OS architecture in-depth. There’s not much programming in the book but you will come away with a deep understanding of the OS.
Both books are published by Microsoft Press. You’ll of course want the latest editions but if you come across earlier editions, those are fine too.
I’m partial to the earlier Petzold editions of Programming Windows.
The technical docs at microsoft.com are also super helpful and up-to-date: https://learn.microsoft.com/en-us/docs/
