The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts
May 15, 2026
Post comments count
0
Post likes count
1
The case of the CreateFileMapping that always reported ERROR_ALREADY_EXISTS
Maybe because it already exists?
May 14, 2026
Post comments count
4
Post likes count
2
A constant-space linear-time algorithm for deleting all but the 10 most recent files in a directory
Using data structures you already knew.
May 13, 2026
Post comments count
3
Post likes count
3
The case of the hang when the user changed keyboard layouts
Keeping things moving.
May 12, 2026
Post comments count
4
Post likes count
2
Why do Windows client editions on 32-bit x86 systems artificially limit RAM to 4 GB?
Compatibility, of course.
May 11, 2026
Post comments count
5
Post likes count
3
Additional notes on controlling which handles are inherited by CreateProcess
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 ReadDirectoryChangesW
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
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?
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
I want to speak to your manager.