The Old New Thing

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...

Broadcasting user-defined messages

When you broadcast a message (via HWND_BROADCAST) remember that the message you broadcast must have global meaning. I discussed earlier what the various message ranges mean. Notice that only the system-defined range (0..WM_USER-1) and the registered message range (MAXINTATOM .. MAXWORD) have global meaning. The other two ranges have ...

Why doesn't C# have "const"?

I was going to write about why C# doesn't have "const", but Stan Lippman already discussed this in A Question of Const, so now I don't have to. (And another example of synchronicity: After I wrote up this item and tossed it into the queue, Eric Gunnerson took up the topic as well...

Why can't the system hibernate just one process?

Windows lets you hibernate the entire machine, but why can't it hibernate just one process? Record the state of the process and then resume it later. Because there is state in the system that is not part of the process. For example, suppose your program has taken a mutex, and then it gets process-hibernated. Oops, now that mutex is ...