The Old New Thing

The evolution of dialog templates – Introduction

In the history of Windows, there have been four versions of dialog templates. And despite the changes, you'll see that they're basically all the same. My secret goal in this six-part series is to address questions people have had along the lines of "I'm trying to generate a dialog template in code, and it's not working. What am I ...

What was the purpose of the hPrevInstance parameter to WinMain?

Once your average GUI program picks itself up off the ground, control begins at your WinMain function. The second parameter, hPrevInstance, is always zero in Win32 programs. Certainly it had a meaning at some point? Of course it did. In 16-bit Windows there was a function called GetInstanceData. This function took an HINSTANCE, a ...

What is the difference between HINSTANCE and HMODULE?

They mean the same thing today, but at one time they were quite different. It all comes from 16-bit Windows. In those days, a "module" represented a file on disk that had been loaded into memory, and the module "handle" was a handle to a data structure that described the parts of the file, where they come from, and where they had been loaded...

Do not underestimate the power of the game Deer Hunter

During the run-up to Windows XP Service Pack 2 Beta in December of last year, there was a list of five bugs that the release management team decided were so critical that they were going to slip the beta until those bugs got fixed. The third bug on the list: Deer Hunter 4 won't run. Deer Hunter has the power to stop a beta...

My first death threat

Actual feedback submitted to the microsoft.com web site many years ago. id: 13726 Date: 1996-07-29 17:27:41.997 Name: *********** Email: ************* Area: Windows 95 Comments: PLEASE read this entire email as it is quite serious. I just discovered today that in the Windows 95 operating system, there are no switches, command line...

Why is the default 8-bit codepage called "ANSI"?

Reader Ben Hutchings wanted to know why the 8-bit codepage is called "ANSI" when it isn't actually ANSI. But instead of saying, "Oh well, some things mortals were never meant to know," he went and dug up the answer himself. A quick Google for Windows ANSI misnomer found me exactly what I was looking for [pdf]: "The term...

Chris Pratley's history lesson

If you haven't read it yet, check out Chris Pratley's voluminous discourse on various aspects of the history of Word. It packs more history into one entry than I do all year. And that was a sequel! You can read the first half, too. In fact, the good stuff keeps on coming. just read it all...