The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts
Apr 7, 2026
Post comments count
6
Post likes count
3
Were there any Windows 3.1 programs that were so incompatible with Windows 95 that there was no point trying to patch them?
The permanently ineligible list.
Apr 6, 2026
Post comments count
2
Post likes count
2
Learning to read C++ compiler errors: Illegal use of -> when there is no -> in sight
If the compiler is complaining about things you didn't write, find out who wrote them.
Apr 3, 2026
Post comments count
3
Post likes count
2
How can I use ReadDirectoryChangesW to know when someone is copying a file out of the directory?
File copying is not a fundamental operation, nor is it even detectable at the file system layer.
Apr 2, 2026
Post comments count
0
Post likes count
4
Why doesn’t the system let you declare your own messages to have the same semantics as WM_COPYDATA ?
Tempting but misleading.
Apr 1, 2026
Post comments count
16
Post likes count
14
The cover of C++: The Programming Language raises questions not answered by the cover
What are we reading about here?
Mar 31, 2026
Post comments count
21
Post likes count
4
Before you check if an update caused your problem, check that it wasn’t a problem before the update
It was going to be like that when I got here.
Mar 30, 2026
Post comments count
4
Post likes count
3
A question about the maximimum number of values in a registry key raises questions about the question
Why is this even a question?
Mar 27, 2026
Post comments count
1
Post likes count
4
What if a dialog wants to intercept its own message loop?
You can steal them from your owner.
Mar 26, 2026
Post comments count
3
Post likes count
3
Why doesn’t WM_ENTERIDLE work if the dialog box is a MessageBox?
Because it opted out.

