• 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

    • 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.
    • I use a Linux laptop every day. I have tried to switch to Linux on my gaming PC which has a 5070 ti. It was not a great experience
    • Alien Isolation 2 will bring a new protagonist and setting, watch the reveal trailer here by Pulasthi Ariyasinghe Only a few weeks ago, Sega and Creative Assembly dropped a teaser for a new Alien Isolation. Today at Summer Game Fest, Alien: Isolation 2 was officially announced with a new trailer while also confirming a whole lot of information about the setting of this survival horror project. Check out the reveal trailer above. Leaving behind the Sevastopol space station, the sequel will take players to a remote colony world. With a Xenomorph (or more) on the loose, players will be navigating both the surface of the weather-ravaged planet as well as "the claustrophobic confines of the Weyland-Yutani outpost of Kurosaki Station." Interestingly, Creative Assembly is leaving behind Amanda Ripley, the daughter of Alien's Ellen Ripley, as the protagonist too. While it hasn't confirmed a name yet, players will be taking the role of a new character for this new adventure. The setting is also being described as a new hunting ground for the Alien. This will have players improvising and developing new tools to aid in their survival and escape, all to avoid "cinema’s deadliest killer." "It has been over a decade since we created the original Alien: Isolation and I am so excited to show everyone the first glimpse of the sequel," says Al Hope, Creative Director at Creative Assembly. "Our dedicated Survival team at Creative Assembly has been working hard to create a new, evolved Isolation experience continuing the legacy of the Alien franchise, making the eponymous killer smarter, the environment harsher and the chance of survival slimmer." Promising the same deadly tension from the original from over a decade ago, Alien: Isolation 2 is in development for PC, Xbox Series X|S, Nintendo Switch 2, and PlayStation 5. A release date has not been announced yet.
    • With how far Tim Apple's head has been up Trump's ass, there's no way this was done reluctantly.
  • 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
      484
    2. 2
      PsYcHoKiLLa
      270
    3. 3
      Skyfrog
      77
    4. 4
      Steven P.
      68
    5. 5
      +Edouard
      61
  • Tell a friend

    Love Neowin? Tell a friend!