The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts
Sep 10, 2025
Post comments count
2
Post likes count
2
The documentation says that CompanyName version information is required, but my program seems to work without it, so how required is it?
It's more of a "Very strongly recommended" than a "Required".
Sep 9, 2025
Post comments count
9
Post likes count
1
A suggestion to people who assign nicknames to meeting rooms
Lean into the pattern. Don't try to cross it up.
Sep 8, 2025
Post comments count
14
Post likes count
1
Why didn’t Windows 95 simply special-case the laptops that locked up when it executed the HLT instruction?
The catastrophic risk of bricking a computer.
Sep 5, 2025
Post comments count
1
Post likes count
1
The case of the crash on a null pointer even though we checked it for null
Understanding what you're checking.
Sep 4, 2025
Post comments count
1
Post likes count
3
How can I write a C++/WinRT IAsyncOperation<T> where T is not a Windows Runtime type?, part 2
Safer smuggling.
Sep 3, 2025
Post comments count
1
Post likes count
3
How can I write a C++/WinRT IAsyncOperation<T> where T is not a Windows Runtime type?, part 1
It's not representable in the Windows Runtime, but you can smuggle it.
Sep 2, 2025
Post comments count
7
Post likes count
1
Dubious security vulnerability: Remembering passwords for recently-opened ZIP files
If it didn't remember them, you wouldn't like it.
Sep 1, 2025
Post comments count
4
Post likes count
1
Thoughts on creating a tracking pointer class, part 16: Second attempt to use a list
We can splice nodes to move them between lists.
Aug 29, 2025
Post comments count
2
Post likes count
1
Thoughts on creating a tracking pointer class, part 15: A custom shared pointer
Simplifying it for out limited use case.

