• 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
  winlonghorn said:
*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
  GreenMartian said:
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
  code.kliu.org said:
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
  azcodemonkey said:
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
  hdood said:
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.

  Quote
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

    • These SSDs from Crucial, SanDisk, and Western Digital are selling at great prices by Fiza Ali Amazon US is currently offering a wide range of solid‑state drives at attractive prices, covering both internal and portable options to meet diverse storage needs. So, whether you're looking to expand your laptop's storage, speed up your desktop, or carry large files on the move, these discounts make it easier to secure reliable SSD technology without exceeding your budget. The 1TB Crucial BX500 is a 2.5‑inch SATA III solid‑state drive offering a maximum interface speed of 6Gb/s. In terms of performance, the drive achieves sequential read speeds of up to 540MB/s and sequential write speeds of up to 500MB/s. It is rated for an endurance of 360TB total bytes written (TBW). 1TB Crucial BX500 Internal SSD: $56.99 (Amazon US) - 40% off The 2TB Crucial P3 Plus is an NVMe SSD in the M.2 2280 form factor, utilising a PCIe Gen 4 ×4 interface. It delivers sequential read speeds of up to 5,000MB/s and sequential write speeds of up to 4,200MB/s. Rated for 440TBW, it offers durable performance for everyday and professional use alike. 2TB Crucial P3 Plus NVMe SSD: $113.99 (Amazon US) The 4TB Crucial X10 portable SSD features a USB 3.2 Gen 2x2 interface, supporting data transfer speeds of up to 20Gb/s. The drive delivers sequential read speeds of up to 2,100MB/s, making it suitable for tasks such as video editing, file transfers, and system backups. 4TB Crucial X10 Portable SSD: $246.99 (Amazon US) - 38% off The 2TB SanDisk Extreme Portable SSD comes equipped with a USB 3.2 Gen 2 interface (backwards compatible with USB 3.0 and USB 2.0). It delivers sequential read speeds of up to 1 000 MB/s, promising rapid file transfers and game loading times. Designed, tested, and approved for use with PlayStation 5 consoles, this rugged SSD lets you archive and restore game libraries rapidly. It is IP55‑rated for water and dust resistance as well. 2TB SanDisk Extreme Portable SSD: $178.01 (Amazon US) - 26% off The 1TB Western Digital Blue SA510 SSD connects via SATA III (6Gb/s). It delivers sequential read speeds of up to 560MB/s and write speeds up to 520MB/s, with random performance rated at 90,000 IOPS for reads and 82,000 IOPS for writes. Built on WD’s 3D NAND technology, it carries a 400TBW endurance rating and is backed by a five‑year limited warranty. Finally, it operates safely between 0°C and 70°C (–55°C to 85°C when powered down). 1TB Western Digital WD Blue SA510 Internal SSD: $63.17 (Amazon US) - 26% off This Amazon deal is US-specific and not available in other regions unless specified. If you don't like it or want to look at more options, check out the Amazon US deals page here. Get Prime (SNAP), Prime Video, Audible Plus or Kindle / Music Unlimited. Free for 30 days. You can also check out other SSD deals here. For hard disk drives, you can head over to our HDD deals section to see if anything from there matches your requirements. Make sure you also browse through Amazon US, Amazon UK, and Newegg US to find some other great tech deals. As an Amazon Associate, we earn from qualifying purchases.
    • Look at the fingers especially round the cups, you’d think A needs to add the I together
    • There are too many people doing nothing and just cruising at MS because of how the previous culture was (rest and vest).
    • AMD Ryzen AM4 16-core 5900XT processor has never been priced cheaper by Sayan Sen While AMD's newest processor platform with DDR5 and PCIe 5.0 goodness is AM5, the preceding Socket AM4 continues to be a great option for gamers shopping on a lower budget. One of the most powerful AM4 desktop chips, the 16-core Ryzen 9 5900XT, is currently priced at the lowest ever at just $230 (purchase links down below). The Ryzen 7 5900XT is based on the Zen 3 architecture supports DDR4, PCIe Gen4, and offers very good performance in both gaming and productivity. While users may not expect the same level of gaming throughput or latency improvement as the 5800X3D, it is certainly possible that titles that utilize more than 16 threads will favor the 5900XT over the 5800X3D. And the 5900XT has plenty of L3 cache as well at 64 MB. So while not 3D stacked V-cache, it should still be a decent gaming chip. And all that cache as well as cores/threads will be excellent for non-gaming tasks of course. The CPU has a base clock of 3.3 GHz and boosts up to 4.8. It has a TDP of 105 watts so the available power envelope certainly helps with that. It can tolerate temperatures of up to 90 °C and there is no boxed cooler with it. So you need an aftermarket one, ideally a 280 mm or 360 mm AIO liquid cooler or an excellent air cooler. Also since this is a 16-core 105-watt chip, make sure to run it on an AM4 board that has good quality VRM and cooling with lots of power (ideally an X570 motherboard). Another consideration is that it does not have integrated graphics so you need a separate dedicated GPU for display out. Get the AMD Ryzen 9 5900XT at the links below: AMD Ryzen 9 5900XT - No Integrated Graphics Desktop CPU Processor - 100-100001581WOF: $229.99 (Amazon US) || : $279.00 (Newegg US + Corsair 32GB DDR4-3200 RAM) This Amazon deal is US-specific and not available in other regions unless specified. If you don't like it or want to look at more options, check out the Amazon US deals page here. Get Prime (SNAP), Prime Video, Audible Plus or Kindle / Music Unlimited. Free for 30 days. As an Amazon Associate, we earn from qualifying purchases.
  • Recent Achievements

    • Week One Done
      Wayne Robinson earned a badge
      Week One Done
    • One Month Later
      Karan Khanna earned a badge
      One Month Later
    • Week One Done
      Karan Khanna earned a badge
      Week One Done
    • First Post
      MikeK13 earned a badge
      First Post
    • Week One Done
      OHI Accounting earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      681
    2. 2
      ATLien_0
      275
    3. 3
      Michael Scrip
      207
    4. 4
      +FloatingFatMan
      172
    5. 5
      Steven P.
      143
  • Tell a friend

    Love Neowin? Tell a friend!