The Old New Thing

Don't name your DLL "Security.dll"

Reaching back into the history bucket... Some people have discovered that strange things happen if you name your DLL "security.dll". The reason is that there is already a system DLL called "security.dll"; it's the Security Support Provider Interface DLL, and it used to go by the name "security.dll", though nowadays the name "...

Don’t name your DLL “Security.dll”

Reaching back into the history bucket... Some people have discovered that strange things happen if you name your DLL "security.dll". The reason is that there is already a system DLL called "security.dll"; it's the Security Support Provider Interface DLL, and it used to go by the name "security.dll", though nowadays the name "...

Why can't I use the same tree item multiple times?

It's the continuing balance between ease-of-use and generality. At a literal level, you can't use the same tree items in multiple places in the tree, because then various properties would become ambiguous, properties like TVGN_PARENT or TVIS_EXPANDED. (If a tree could be in two places, then it would have two parents, for example.) Of ...

Why can’t I use the same tree item multiple times?

It's the continuing balance between ease-of-use and generality. At a literal level, you can't use the same tree items in multiple places in the tree, because then various properties would become ambiguous, properties like TVGN_PARENT or TVIS_EXPANDED. (If a tree could be in two places, then it would have two parents, for example.) Of ...

Why does the Links folder keep re-creating itself?

Those of you who dislike the Links folder have probably tried to delete it, only to discover that it keeps coming back. Why is that? This is Internet Explorer trying to do some auto-repair. It noticed that the Links folder is missing, so it figures, "Gosh, it must be corrupted! I'd better fix the problem by creating a replacement." ...

The evolution of dialog templates – Summary

As promised, here's the tabular version of the evolution of dialog templates. It doesn't contain any new information, but it may give you a little glimpse into how things evolved to see the small changes highlighted against each other...

The evolution of dialog templates – 32-bit Extended Templates

At last we reach our goal, the 32-bit extended dialog template, known in resource files as DIALOGEX. I will celebrate this with a gratuitous commutative diagram: Isn't that special. Okay, so let's get going. The 32-bit extended dialog template is the 32-bit version of the 16-bit extended dialog template, so you won't see any real ...

The evolution of dialog templates – 16-bit Extended Templates

The next step in the evolution of dialog templates is the Extended Dialog or DIALOGEX. First, let's look at the 16-bit version. The 16-bit extended dialog template is purely historical. The only operating systems to support it were the Windows 95/98/Me series. It is interesting only as a missing link in the evolution towards the 32-bit ...

The evolution of dialog templates – 32-bit Classic Templates

Okay, last time we talked about the 16-bit classic DIALOG template. This time, we're going to talk about the 32-bit classic DIALOG template. There really isn't much going on. Some 8-bit fields got expanded to 16-bit fields, some 16-bit fields got expanded to 32-bit fields, extended styles were added, and all strings got changed from ANSI ...

The evolution of dialog templates – 16-bit Classic Templates

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. First, there was the classic Windows 1.0 dialog template. It starts like this: Notice that this is where the 255-controls-per-dialog limit comes from on 16-bit Windows, since the field ...