Best way to learn Windows Programming?

My name is Clodi and I have been programming in C++ for two years now.
I am still a beginner but the reason why I am in this forum is because I would like to start learning how to make a videogame. (no DOS anymore, but GUI as well) Therefore I'd like to learn how to build my own framework from scratch. Now, I know for a fact I have to learn Windows first and then DirectX (or OpenGL). I am now in the process of starting to learn Windowns.

The question is: WHAT IS THE BEST BOOK that could guide me through this?

Is "Windows Programming fifth edition" by Charles Petzold the best book for this purpose? A friend of mine suggests that to me but from what I can see on Amazon, this book has the size of a couple of dictionaries and I was wondering if it makes sense to buy it with the ONLY purpose to learn how to make a framework from scratch, or if it's better to go with some other book, as I fear the book mentioned above could be a bit too much over my head. I would like to thank all of you who have taken the time to read this. Please, comment below and try give me some pointers or share your thoughts on books you have used in the past to learn Windows.

That's a really good book.
It doesn't use MFC or .NET, and this makes it a good book, because it will probably make your program go faster than a MFC/.NET program.
It's a bit outdated but the WINAPI didn't change really much and is quite retrocompatible.
Also, you can look on the MSDN.
(You should navigate through categories on the left tab.
Unless you have a specific function, MSDN isn't really easy to navigate, so, have patience with it)

Or google.

The book you proposed to be the best Book is infact, the best book I learnt Windows API through.

The only thing I also suggest you to do is to gather up resources regarding Windows API because some of the topics in the proposed book has too complicated explanations which can be explained fairly normally.

Thank you guys!!

I think I'll end up buying it next couple of weeks.
I am watching a video tutorial series but it's getting complicated and I need that book as a reference to follow along easier.
I learned WinAPI through the internet, and I think that is the best book!
Though, seriously... There is TONS of information on the net.

But, really... All you need is a good graphic library, and some time.
WinAPI is Windows specific anyways, though I love it anyway XD!

Please don't use MFC, .Net (CLR), or anything like that (unless you like slow software)!

DX is an incompatible joke, stay away from it.
Newer versions of DirectX will not work on anything older then Win8!
And it makes porting a severe pain!!!

M$ gets greedier every day:
Last edited on
Mitch wrote:
Please don't use MFC, .Net (CLR), or anything like that (unless you like slow software)!


Mitch wrote:

DX is an incompatible joke, stay away from it.
Newer versions of DirectX will not work on anything older then Win8!
And it makes porting a severe pain!!!

You can still use the very well known DirectX 9, just because new versions are for Windows 8 it doesn't mean you should never use the older ones.
Only "Good" feature in DX11 is the Tessellation, but you're not going to be needing it.
closed account (3qX21hU5)
Ummm who said you need to have windows 8 to use DX11? Because that is just plain false.

The only requirements for DX11 is nothing older then Windows 7 and a DX11 Compatible Graphics card (Which the majority of cards are now days).

And as EssGeEich said there is still the very well known and very good version of DirectX 9. It is also very easy to be able to use DX9 as standard and give the option of using DX11 if the users computer supports it.
Last edited on
Dude, simply Google your question.

And newer developers (and corps) are stupidly using it.
Newer games will probably be for Windows 8 only also.

You can find more information here (and many other places):
As long as OLD, GOOD developers are still using DX9 I don't care.
Still look at this:

As long as developers like VALVe use DX9, I don't care.
Also, you either talk about DirectX, or you talk about DirectX 11.1.

Many developers already said Windows 8 is a fail and they're not going to support it.

- Yeah, I like VALVe.

Don't look only at the new things.
Windows OS's are retro-compatible. At least, since XP they are.
And I'm not seeying anyone using DX11.1.
Maybe, DX11. But then...

I Agree, and I think DirectX 9 is good too, I used it before I started using OpenGL.

Though I hate it when Microsoft releases a newer version,
and says things like "Older versions are no longer supported".

And by "no longer supported", I think they are going to start removing documentation.
Even though the newer stuff doesn't work on 80%+ of the (Windows) audience.

I am sure they could release patches (somehow) and make it work on Win7...
Yet they choose not to... Maybe some people do not use Windows 8, MS!

(As you know, Windows 8 is a small fraction of the user base)

I also think Windows 8 is a fail (stupid "live tiles").
It's like a phone OS, not a computer OS.
Last edited on
Ah, wait, wait a moment, you're missing a piece of the puzzle.
They're not removing documentations from the MSDN for DX9.
They simply don't do bug checking/don't allow bug reporting on DX9 anymore.

Also, DX documentations (since DX9) are in the latest SDK, available for offline view after installation.
(Edited) I said that wrong...

I mean I think they plan on eventually removing documentation (within this year),
But that was just a guess, and as you said, it is in the latest SDK, hopefully they will not remove it!
Last edited on
One can simply hope it does not end up like DX8.
Topic archived. No new replies allowed.