The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Raymond Chen
Raymond Chen
May 25, 2012

The extern “C” specifier disables C++ mangling, but that doesn’t mean it disables mangling

The MSDN documentation on dllexport contains the following enigmatic paragraph, or at least did at the time I wrote this article: dllexport of a C++ function...

0
0
Raymond Chen
Raymond Chen
May 24, 2012

How do I prevent unchecked checkboxes in my listview control from disappearing?

A customer asked, "I have a listview control in report view with the extended style. I noticed that unchecked checkboxes are not visible until I hover over the...

0
0
Raymond Chen
Raymond Chen
May 23, 2012

GUIDs are designed to be unique, not random

A customer liaison asked, "My customer is looking for information on the GUID generation algorithm. They need to select N items randomly from a pool of&...

0
0
Raymond Chen
Raymond Chen
May 22, 2012

Why is the Close button in the upper right corner?

Chris wants to know how the close button ended up to the right of the minimize and maximize/restore buttons. "In OS/2, it is on the left, which left the two ...

0
0
Raymond Chen
Raymond Chen
May 21, 2012

What was the registry like in 16-bit Windows?

Commenter Niels wonders when and how the registry was introduced to 16-bit Windows and how much of it carried over to Windows 95. The 16-bit registry was...

0
0
Raymond Chen
Raymond Chen
May 18, 2012

How to view the stack of threads that were terminated as part of process teardown from user mode

Last time we saw how to view the stack of threads that were terminated as part of process teardown from the kernel debugger. You can do the same thing from a ...

0
0
Raymond Chen
Raymond Chen
May 17, 2012

Charles Petzold is back with another edition of Programming Windows

Back in the day (and perhaps still true today), Charles Petzold's Programming Windows was the definitive source for learning to program Windows. The book is so ...

0
0
Raymond Chen
Raymond Chen
May 17, 2012

How to view the stack of threads that were terminated as part of process teardown from the kernel debugger

As we saw some time ago, process shutdown is a multi-phase affair. After you call , all the threads are forcibly terminated. After that's done, each DLL is ...

0
0
Raymond Chen
Raymond Chen
May 16, 2012

Sure, we do that: Context menu edition

A customer reported a problem that occurred only when they installed a particular application. If they uninstalled it, then the problem went away. After ...

0
0