The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

The cover of <I>C++: The Programming Language</I> raises questions not answered by the cover
Apr 1, 2026
Post comments count 0
Post likes count 0

The cover of C++: The Programming Language raises questions not answered by the cover

Raymond Chen
Raymond Chen

What are we reading about here?

Before you check if an update caused your problem, check that it wasn’t a problem before the update
Mar 31, 2026
Post comments count 2
Post likes count 0

Before you check if an update caused your problem, check that it wasn’t a problem before the update

Raymond Chen
Raymond Chen

It was going to be like that when I got here.

A question about the maximimum number of values in a registry key raises questions about the question
Mar 30, 2026
Post comments count 4
Post likes count 1

A question about the maximimum number of values in a registry key raises questions about the question

Raymond Chen
Raymond Chen

Why is this even a question?

What if a dialog wants to intercept its own message loop?
Mar 27, 2026
Post comments count 0
Post likes count 4

What if a dialog wants to intercept its own message loop?

Raymond Chen
Raymond Chen

You can steal them from your owner.

Why doesn’t <CODE>WM_<WBR>ENTER­IDLE</CODE> work if the dialog box is a <CODE>Message­Box</CODE>?
Mar 26, 2026
Post comments count 1
Post likes count 3

Why doesn’t WM_ENTER­IDLE work if the dialog box is a Message­Box?

Raymond Chen
Raymond Chen

Because it opted out.

How can I change a dialog box’s message loop to do a <CODE>Msg­Wait­For­Multiple­Objects</CODE> instead of <CODE>Get­Message</CODE>?
Mar 25, 2026
Post comments count 2
Post likes count 4

How can I change a dialog box’s message loop to do a Msg­Wait­For­Multiple­Objects instead of Get­Message?

Raymond Chen
Raymond Chen

The dialog box lets you change how it waits.

Windows 95 defenses against installers that overwrite a file with an older version
Mar 24, 2026
Post comments count 6
Post likes count 6

Windows 95 defenses against installers that overwrite a file with an older version

Raymond Chen
Raymond Chen

A very primitive version of recovery.

How can I make sure the anti-malware software doesn’t terminate my custom service?
Mar 23, 2026
Post comments count 12
Post likes count 3

How can I make sure the anti-malware software doesn’t terminate my custom service?

Raymond Chen
Raymond Chen

You'll have to ask nicely.

Windows stack limit checking retrospective: arm64, also known as AArch64
Mar 20, 2026
Post comments count 6
Post likes count 2

Windows stack limit checking retrospective: arm64, also known as AArch64

Raymond Chen
Raymond Chen

Wrapping things up.