The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Customizing the ways the dialog manager dismisses itself: Detecting the ESC key, second (failed) attempt
Feb 23, 2026
Post comments count 0
Post likes count 0

Customizing the ways the dialog manager dismisses itself: Detecting the ESC key, second (failed) attempt

Raymond Chen
Raymond Chen

Sniffing the synchronous keyboard state is still not precise enough.

The 2026/2027 Seattle Symphony subscription season at a glance
Feb 20, 2026
Post comments count 0
Post likes count 0

The 2026/2027 Seattle Symphony subscription season at a glance

Raymond Chen
Raymond Chen

The pocket reference guide for 2026/2027.

Customizing the ways the dialog manager dismisses itself: Detecting the ESC key, first (failed) attempt
Feb 20, 2026
Post comments count 12
Post likes count 3

Customizing the ways the dialog manager dismisses itself: Detecting the ESC key, first (failed) attempt

Raymond Chen
Raymond Chen

Sniffing the asynchronous keyboard state.

Exploring the signals the dialog manager uses for dismissing a dialog
Feb 19, 2026
Post comments count 1
Post likes count 6

Exploring the signals the dialog manager uses for dismissing a dialog

Raymond Chen
Raymond Chen

Summarizing the flow.

Could <CODE>Write­Process­Memory</CODE> be made faster by avoiding the intermediate buffer?
Feb 18, 2026
Post comments count 2
Post likes count 2

Could Write­Process­Memory be made faster by avoiding the intermediate buffer?

Raymond Chen
Raymond Chen

I guess it could, but why bother?

Microspeak: Escrow
Feb 17, 2026
Post comments count 8
Post likes count 2

Microspeak: Escrow

Raymond Chen
Raymond Chen

Final build, final, final, final 2, ship this one.

It rather involved being on the other side of the airtight hatchway: Tricking(?) a program into reading files
Feb 16, 2026
Post comments count 10
Post likes count 2

It rather involved being on the other side of the airtight hatchway: Tricking(?) a program into reading files

Raymond Chen
Raymond Chen

Is it really a trick when reading the file is the purpose of the program?

How can I distinguish between the numeric keypad 0 and the top-row 0 in the <CODE>WM_<WBR>CHAR</CODE> message?
Feb 13, 2026
Post comments count 10
Post likes count 4

How can I distinguish between the numeric keypad 0 and the top-row 0 in the WM_CHAR message?

Raymond Chen
Raymond Chen

See if it matches the scan code.

How can I distinguish between the numeric keypad 0 and the top-row 0 in the <CODE>WM_<WBR>KEY­DOWN</CODE> message?
Feb 12, 2026
Post comments count 2
Post likes count 3

How can I distinguish between the numeric keypad 0 and the top-row 0 in the WM_KEY­DOWN message?

Raymond Chen
Raymond Chen

Check whether it is an extended key.