The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

May 13, 2026
Post comments count 0
Post likes count 0

The case of the hang when the user changed keyboard layouts

Raymond Chen

Keeping things moving.

May 11, 2026
Post comments count 4
Post likes count 3

Additional notes on controlling which handles are inherited by Create­Process

Raymond Chen

Putting the handles in a private container.

May 8, 2026
Post comments count 7
Post likes count 4

Developing more confidence when tracking renames via Read­Directory­ChangesW

Raymond Chen

You can track the file ID.

May 7, 2026
Post comments count 2
Post likes count 3

When you upgrade your resource strings to Unicode, don’t forget to specify the L prefix

Raymond Chen

Otherwise, it'll get mapped back down to the 8-bit code page.

May 6, 2026
Post comments count 10
Post likes count 2

Why not have changes in API behavior depend on the SDK you link against?

Raymond Chen

Static libraries don't stand a chance.

May 5, 2026
Post comments count 11
Post likes count 8

A dispute over the TAB key highlights a mismatch between Microsoft and IBM organizational structures

Raymond Chen

I want to speak to your manager.

May 4, 2026
Post comments count 1
Post likes count 4

How do I inform Windows that I’m writing a binary file?

Raymond Chen

You don't. All files are binary at the file system level.

May 1, 2026
Post comments count 1
Post likes count 1

Developing a cross-process reader/writer lock with limited readers, part 4: Abandonment

Raymond Chen

Recovering from death of the owner.

Apr 30, 2026
Post comments count 3
Post likes count 2

Developing a cross-process reader/writer lock with limited readers, part 3: Fairness

Raymond Chen

Let the exclusive acquisition have a fair chance against shared acquisitions.