• 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

    • It's amazing that anyone still uses this bloated trash.
    • @Sayan...I have defended you at various points as I hope you know. This headline however is utter trash...shame on you sir!
    • An actual cosmic "Eye of Sauron" had been looking straight at us all along by Sayan Sen Image by Kovin P. Vasquez via Pexels | Not representative An international team of researchers has solved a long-standing mystery surrounding a distant blazar known as PKS 1424+240, helping explain why it produces some of the brightest high-energy gamma rays and cosmic neutrinos ever observed despite appearing to have a relatively slow-moving jet. The findings were published on June 6 in Astronomy & Astrophysics Letters. The study addresses a broader challenge in astrophysics: understanding how extreme cosmic objects accelerate particles to very high energies and produce very high-energy (VHE) photons and neutrinos. PKS 1424+240 is located billions of light-years from Earth. It has attracted attention for years because it is both a powerful source of VHE gamma rays and the brightest known neutrino-emitting blazar in the sky, according to observations by the IceCube Neutrino Observatory. It is also associated with one of the strongest peaks in IceCube's nine-year neutrino sky map A blazar is a type of active galactic nucleus powered by a supermassive black hole that pulls in surrounding matter and launches jets of plasma moving close to the speed of light. What makes blazars unique is their orientation. One of their jets points almost directly toward Earth, making them appear exceptionally bright across the electromagnetic spectrum and allowing scientists to study some of the most extreme physical processes in the Universe. The scientists exclaimed it's like the 'Eye of Sauron' in deep space. Usually, the brightest gamma-ray-emitting blazars are expected to have jets that appear to move very quickly. However, radio observations of PKS 1424+240 suggested that its jet was moving much more slowly, creating a contradiction that became part of a long-running problem known as the "Doppler factor crisis." To investigate, researchers analyzed 15 years of observations from the Very Long Baseline Array (VLBA), a network of 10 radio antennas spread across the continental United States, Hawaii and St. Croix. Using a technique called Very Long Baseline Interferometry (VLBI), astronomers combine signals from widely separated radio telescopes to create a virtual Earth-sized telescope capable of revealing extremely fine details. The team combined 42 polarization-sensitive radio images collected between 2009 and 2025, creating a much deeper and more detailed view of the jet than had previously been possible. The observations were carried out as part of MOJAVE (Monitoring Of Jets in Active galactic nuclei with VLBA Experiments), a long-running program that studies the brightness, polarization and magnetic field structures of jets produced by active galaxies. The project aims to better understand how activity near supermassive black holes is linked to high-energy radiation and neutrino emission. “When we reconstructed the image, it looked absolutely stunning,” said Yuri Kovalev, lead author of the study and Principal Investigator of the European Research Council-funded MuSES project at the Max Planck Institute for Radio Astronomy. “We have never seen anything quite like it — a near-perfect toroidal magnetic field with a jet, pointing straight at us.” The image revealed an unusual geometry. The researchers found that Earth lies almost directly in line with the jet, with a viewing angle of less than 0.6 degrees. In simple terms, astronomers are looking almost straight down the jet. This turned out to be the key to the mystery. Because the jet is aimed almost directly at Earth, a relativistic effect called Doppler boosting dramatically increases its apparent brightness. The study found that this effect boosts the emission by a factor of about 30 while also making the jet appear slower than it actually is. “This alignment causes a boost in brightness by a factor of 30 or more,” said Jack Livingston, a co-author at the Max Planck Institute for Radio Astronomy. “At the same time, the jet appears to move slowly due to projection effects — a classic optical illusion.” The nearly head-on view also gave scientists a rare look at the jet's magnetic field. Using polarized radio signals, they detected a clear toroidal, or doughnut-shaped, magnetic field component. The observations suggest the jet carries an electric current and that its magnetic field helps launch, shape and stabilize the flow of plasma. Researchers believe this magnetic structure may also play a key role in accelerating particles to energies high enough to produce both gamma rays and neutrinos. “Solving this puzzle confirms that active galactic nuclei with supermassive black holes are not only powerful accelerators of electrons, but also of protons — the origin of the observed high-energy neutrinos,” Kovalev said. The research was conducted under the MuSES (Multi-messenger Studies of Energetic Sources) project, which investigates how active galactic nuclei accelerate particles and generate different cosmic signals, including light and neutrinos. Scientists say understanding how protons are accelerated and linked to neutrino production remains one of the major unanswered questions in astrophysics. The findings help explain why some blazars can appear to have slow jets while still producing extremely bright high-energy emissions. More broadly, the study strengthens the link between relativistic jets, magnetic fields, gamma rays and high-energy neutrinos. Researchers say the results provide new clues about how some of the Universe's most powerful natural particle accelerators work and offer important insights for multimessenger astronomy, which combines different types of cosmic signals to study extreme events in space. Source: European Research Council, EDP Sciences This article was generated with some help from AI and reviewed by an editor. Under Section 107 of the Copyright Act 1976, this material is used for the purpose of news reporting. Fair use is a use permitted by copyright statute that might otherwise be infringing.
    • Gotenks98 is right... Outlook (new) is absolute trash. Doesn't Mozilla have an Enterprise Version of Firebird?
  • Recent Achievements

    • One Month Later
      lamborghiniv10 earned a badge
      One Month Later
    • Week One Done
      lamborghiniv10 earned a badge
      Week One Done
    • Reacting Well
      X-No-file earned a badge
      Reacting Well
    • One Month Later
      pestcontrol46 earned a badge
      One Month Later
    • Week One Done
      pestcontrol46 earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      511
    2. 2
      PsYcHoKiLLa
      273
    3. 3
      Skyfrog
      75
    4. 4
      +Edouard
      72
    5. 5
      FloatingFatMan
      68
  • Tell a friend

    Love Neowin? Tell a friend!