• 0

Good Win32 (Windows API) Programming Book?


Question

I am looking for a good Win32 (Windows API) book. I would like it to be as recent as possible and include information about how I would program for Windows 7 as well. Any recommendations? I know .NET programming and want to learn to move on to systems level programming. Thank you in advance.

11 answers to this question

Recommended Posts

  • 0
*Bump. Anyone? :)

No need to bump. It's only been 18 minutes.

With Win7 not even reaching RTM yet, your best bet would be online resources instead of books..

Edit: Here's a good one from MS: Windows 7 RC Training Kit for Developers

  • 0
No need to bump. It's only been 18 minutes.

With Win7 not even reaching RTM yet, your best bet would be online resources instead of books..

The problem is that I need one resource to learn it and not a bunch of scattered resources. I need the organization to help me focus without hunting and pecking lol. That is why I like books for learning. :)

  • 0

Bumping after just 19 minutes? :rolleyes:

Programming Windows is a classic and is arguably the best book, though old. As for Win7, first, I'm not sure if there's a book for that, given that the APIs for Win7 were only recently documented; plus, MSDN provides a pretty good reference for the new APIs (almost all of them COM APIs) in Win7. Besides, the specific APIs of each Windows version are largely unimportant because the main concepts are fairly stable and are mostly unchanged through all versions, and that's what you'll get from Petzold. Get a feel for the Windows architecture and platform, and the APIs are just details that you can look up in the docs (which you have to refer to anyway for specifics on each function's parameters and return codes, etc).

Or you can just do what I did: look at the docs and look at sample code; programming isn't history class: books are not that important when it comes to learning this stuff.

  • 0
Bumping after just 19 minutes? :rolleyes:

Get Petzold. Programming Windows is a classic and is arguably the best book. As for Win7, first, I'm not sure if there's a book for that, and MSDN provides a pretty good reference for the new APIs (almost all of them COM APIs) in Win7. Besides, the specific APIs of each Windows version are largely unimportant because the main concepts are fairly stable and are mostly unchanged through all versions. Get a feel for the Windows architecture and platform, and the APIs are just details that you can look up in the docs (which you have to refer to anyway for specifics on each function's parameters and return codes, etc).

Thank you. :) Sorry about the bump. I just needed to get an answer for the friend who is buying the book and they had to leave soon.

  • 0

http://www.amazon.com/s/ref=nb_ss_gw_0_9?u...refix=win32+pro

Read reviews. Generally, MS books are very good when it comes to Win32 apps. The Windows via C/C++ is probably a good bet. Jeffery Richter is a very well-known resource for Win32 and Windows programming in general. the Petzold book is excellent, as well, but doesn't deal with newer APIs. It is invaluable, though.

  • 0
http://www.amazon.com/s/ref=nb_ss_gw_0_9?u...refix=win32+pro

Read reviews. Generally, MS books are very good when it comes to Win32 apps. The Windows via C/C++ is probably a good bet. Jeffery Richter is a very well-known resource for Win32 and Windows programming in general. the Petzold book is excellent, as well, but doesn't deal with newer APIs. It is invaluable, though.

Ok, great. Thank you. :)

EDIT: I am buying the petzold book. I read the amazon preview and it looks fantastic! :)

Edited by winlonghorn
  • 0

Petzold's book was good, but you people need to be realistic. It is an old book. Very old. Over a decade old, and very dated. I'm not so sure if it can be recommended anymore, even though the basics haven't changed that much.

If you're interested in online resources, http://www.winprog.org/tutorial/start.html is not bad, especially when combined with MSDN. Let's say you want some more in-depth details about Windows, you could just head over to http://msdn.microsoft.com/en-us/library/ms...28VS.85%29.aspx

If you look in the tree on the left, it also has sections explaining window procedures, window classes, input, the various controls, etc. Most parts have example code as well. It's the main reference site for the Windows APIs, so it's something you have to bookmark. As for Windows 7, it has many new things in various areas. Let's say you wanted to use the new API that gives you a progress bar in the task bar button, this is the method to do it (along with SetProgressValue). Only one problem though, it's a COM interface exposed by the shell (Explorer), which means you need to have a basic understanding of COM (which you'd have to get somewhere else). You also need this to do various other things like multimedia, image processing, etc.

Just as a little example, you'd set the progress bar to 20% and turn it red to indicate an error like this (without any error checking or autopointers):

ITaskbarList3 *tl3 = NULL;
hr = CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER,
	__uuidof(ITaskbarList3), IID_PPV_ARGS(&tl3));

hr = tl3->HrInit();

hr = tl3->SetProgressValue(hwnd, 20, 100);
hr = tl3->SetProgressState(hwnd, TBPF_ERROR);

tl3->Release();

It's not that complex, you just create an instance of the class with CoCreateInstance, and then call the various methods it exposes as you see fit. Of course, you have to learn this somewhere.

  • 0
even though the basics haven't changed that much.

Well, that's what he needs, though. An understanding of the platform. Knowing the difference between SendMessage and PostMessage. That kind of stuff.

Of course, you have to learn this somewhere.

Yes, and the MSDN library contains plenty of documentation and code samples for the new features and APIs introduced in the past decade.

Developing for any platform can be separated into understanding the platform (e.g., how does the message queue work, or what exactly are windows?) and knowing the specific incantations needed to invoke feature XYZ. The former is fairly static and is mostly timeless and is thus book-worthy. OTOH, it doesn't make sense to have the latter in a book (what would a book do, beyond a dry, hard-to-search regurgitation of documentation and sample code found in the MSDN library?).

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • with LTSC and ESU there are still viable as a stable platform not that they care and let people deal with w11 crashing and burning every month support mean shet if the platform is trash
    • Most boring game ever. Repetitive, empty, predictable, and full of cliches. Total waste of time and money, IMO.
    • Mafia: The Old Country expansion Man of Honor announced, brings back Salieri from original by Pulasthi Ariyasinghe During Summer Game Fest, 2K and Hanger 13 brought out a new Mafia: The Old Country trailer, revealing the game's first expansion. Named Man of Honor, this is slated to add two new chapters to the Enzo storyline that the game follows. There is an iconic character returning to the series with this expansion, with players set to run into Ennio Salieri, the future Don of the Salieri crime family. Fans of the original Mafia, or its Definitive Edition remake, may remember that name as one of the biggest characters in the storyline. This expansion is set prior to his rise to being the kingpin in the City of Lost Heaven. "Set in Sicily during the winter of 1905, Enzo Favara has proven himself a reliable soldier of the Torrisi crime family in the months since his initiation," says the studio about the new chapters. "Now, the Don entrusts him and Cesare with a delicate assignment of assisting Ennio Salieri, a man of honor recently released from prison and intent on reclaiming what is his." Working at Salieri's side, players will be heading into fresh environments as they return to the role of Enzo as a high-ranking soldato. The studio also promises brand-new weapons, fresh vehicles, and charms to collect in this expansion. Moreover, the expansion will add new content to the updated Free Ride mode. Alongside new collectibles and locations, this will add more challenges to beat alongside Salieri, which are described as runs that will "test the skills of even the most elite mafiosi." The Mafia: The Old Country Man of Honor story expansion will release on August 14, 2026, across PC, Xbox Series X|S, and PlayStation 5. It will cost $10 for owners of the base game to jump into.
    • Try installing Logitech Options
    • Telltale returns with The Wolf Among Us, re-revealing the sequel and a new remaster by Pulasthi Ariyasinghe Telltale Games, the studio known for its episodic games from the 2000s, had a surprise appearance at the Summer Game Fest showcase today. The studio has gone through a collapse, an acquisition, and a revival but has largely gone silent in recent years. Today's sudden announcement was for the popular The Wolf Among Us series, with news about the sequel and a remaster dropping. Set after the events of the 2013-released title, the sequel will bring back Biby Wolf for a new adventure in Fabletown. This town of fairy tale characters is becoming unstable, with Snow White not being able to keep order as before. "When a brutal series of crimes threatens to fracture the fragile balance holding Fabletown together, Bigby Wolf, sheriff of Fabletown, finds himself drawn into a dangerous conspiracy that reaches deep into the city’s criminal underworld," says the studio. "As suspicion spreads across the city and powerful forces work against him, Bigby must uncover the truth and decide what kind of sheriff - and what kind of wolf - he is willing to become." At the same time, Telltale also announced The Wolf Among Us Remastered, bringing back the classic with a fresh coat of paint. This will include all five episodes from the original game plus over an hour of extra content that will offer behind-the-scenes videos, cast interviews, image galleries, and deleted scenes. The remaster will also have updated visuals and improved UI elements and accessibility features, alongside upgrades to the animations, audio, and frame rates. Telltale has been working on this project for almost a decade now, but if the new release schedule holds, fans will be able to jump into The Wolf Among Us 2 sometime in 2027. As for The Wolf Among Us Remastered, this is slated to release during this holiday season.
  • Recent Achievements

    • Rookie
      moog19 went up a rank
      Rookie
    • Mentor
      grik went up a rank
      Mentor
    • Dedicated
      JKR earned a badge
      Dedicated
    • One Year In
      CHUNWEI earned a badge
      One Year In
    • Conversation Starter
      FBSPL earned a badge
      Conversation Starter
  • Popular Contributors

    1. 1
      +primortal
      488
    2. 2
      PsYcHoKiLLa
      270
    3. 3
      Skyfrog
      76
    4. 4
      Steven P.
      68
    5. 5
      FloatingFatMan
      63
  • Tell a friend

    Love Neowin? Tell a friend!