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

Exploding frying pans

Last year there was a recall of exploding frying pans. For some reason I found this funny. "The pans can explode or separate when preheated, used on high heat or used for frying," the safety commission said in a statement. It explodes when you fry something in it. Apparently "frying stuff" was not in the test plan for the frying...

Verifying that your system files are digitally signed

If you want to re-check that the files on your system haven't been tampered with, you can run sigverif (by typing its name into the Start.Run dialog) and tell it to start scanning. (UI note: If you go into the Logging page on the Advanced dialog, you can get trapped where it insists on having a valid log file name even if you didn't ...

Anybody remember Blade Squad or MV24?

It's often fun to go back and see the kooky ideas for television shows that floated around years ago. Here are some from 1997: Plenty more on the linked web site. What's really scary is that a lot of these kooky ideas turned into actual television programs...

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

Norway works to lengthen its lead

Norway locks its grip on "Best place to live" status: As I pointed out last month, this then leads to... Shoulda studied Norwegian like I had planned to do originally before I got sidetracked by Swedish...

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

A hidden performance cost of regional windows

Regional windows are neat, but they come at a cost. Most of the cost you can see directly. For example, constantly changing the region clearly generates a cost since you have to sit there and generate new regions all the time. One question that came up on an internal performance alias highlights one of the hidden costs of regional windows: ...