Frequently Asked Questions

Q. Will there be a 6th edition of Programming Windows?

A. Yes! In 2012 it was announced that there will be a sixth edition of Programming Windows that focuses on writing Metro style applications for Windows 8 using C# and XAML. Full details are here.

Keep in mind that the subject of the fifth edition of Programming Windows is the basic 32-bit Windows Application Programming Interface (Win32 API). Much of that API has remained stable for about the past 15 years, and it is still available in Windows 8 for writing desktop-style applications.

Q. I've lost the CD-ROM that came with my book. Where can I get another?

A. All the code for all my books can be downloaded through links on the Books page of this web site.
Q. Much of the code you write that is published in books, or magazines articles, or blog entries has your copyright notice on the top. What do I have to do to use that code in one of my projects?

A. All the code that I write and publish is free to use in your software projects (whether personal or commercial) without restriction. I write the code primarily for pedagogical purposes, but if you find a chunk that suits your needs, just take it. Use it straight up or modify it, I don't care. That's what it's there for!

The copyright notice that often appears on my source code is intended to assert my rights regarding publication of the source code. For example, you can't take some of my source code and put it in your own book or magazine article.

Even so, there are several circumstances in which republication of my source code is permitted under "fair use" concepts. For example, if you're writing an article and you need to discuss some stupid blunder that you found in one of my code samples, you're allowed to republish the code. I've seen some old code I've written used in historical discussions about the horrors of Win16 programming. That's OK as well.

Sometimes people want to translate code from my books to other programming languages. I like to know about such projects, but I have no problem with that.

Q. There are so many ways to write Windows programs these days. There's the Win32 API, there's MFC, and there's .NET with Windows Forms and the Windows Presentation Foundation, and now Windows 8. What should I use?

A. I can't answer that question for you. The programming platform and interface you chose must be based on many factors, including the resources you have, and your target audience.

However, it is very clear that the world needs to be moving in the direction of managed code, and that's where the world seems to be going. Learning C# and XAML provides excellent skills for meeting the challenges of the future of client Windows programming.

Q. Can I email you a technical question?

A. Yes, but I'm afraid I can't guarantee an adequate response. Often if an immediate answer doesn't come to mind, I ponder the question for awhile until the email slips further down into the Inbox stack and I forget about it.

A few guidelines that may help you get a response:

  • I receive well over a hundred pieces of spam a day. Try to use a Subject line that mentions Windows programming. I am likely to delete email with a blank Subject line, or Subject lines of "Hi" or "Question" or "From Fred."
  • Your question should be on a subject that I've written about, specifically, Windows API programming, C#, Windows Forms, the Windows Presentation Foundation, or Silverlight. I don't feel qualified or inclined to answer questions about MFC, ASP, etc.
  • Try to ask just one question rather than a series of questions.
  • If you're sending code, make it as short as possible. (This is a good idea anyway if you're trying to isolate a problem.) Including a Visual Studio project file is helpful. Don't send EXEs.
  • Try to ask a question that is general enough and interesting enough to be answered with a blog entry. I love those questions most of all!
    Q. Is that a real tattoo?

    A. Yes it is, but I think of it more as a scar I got in the mid-1990s after doing Windows programming beginning for 10 years (beginning in 1985).

    © Charles Petzold, 2012
    This page last updated May 2012