The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Aug 14, 2026
Post comments count 0
Post likes count 0

Forcing an ARM64X executable to run as a specific architecture

Raymond Chen

You can request the target machine architecture.

Aug 13, 2026
Post comments count 0
Post likes count 1

A little helper class for managing LPPROC_THREAD_ATTRIBUTE_LISTs

Raymond Chen

Another RAII-style wrapper.

Aug 12, 2026
Post comments count 3
Post likes count 3

The comments that go into code versus those that go into the pull request description

Raymond Chen

Understanding the temporal relevance.

Aug 11, 2026
Post comments count 5
Post likes count 3

The little-known winstart.bat batch file

Raymond Chen

It had been there long before Windows 95, but nobody remembered.

Aug 10, 2026
Post comments count 1
Post likes count 3

How can I perform a Copy­File in unbuffered mode?

Raymond Chen

Try one of the fancier alternatives to <CODE>Copy­File</CODE>.

Aug 7, 2026
Post comments count 5
Post likes count 3

Creating a fake agile wrapper that is technically agile but is not useful outside its home apartment, part 5

Raymond Chen

Cheating with <CODE>std::unique_ptr</CODE>.

Aug 6, 2026
Post comments count 0
Post likes count 3

Creating a fake agile wrapper that is technically agile but is not useful outside its home apartment, part 4

Raymond Chen

Moving things around if possible.

Aug 5, 2026
Post comments count 4
Post likes count 3

Creating a fake agile wrapper that is technically agile but is not useful outside its home apartment, part 3

Raymond Chen

Forcing an object into the global interface table.

Aug 4, 2026
Post comments count 2
Post likes count 3

Creating a fake agile wrapper that is technically agile but is not useful outside its home apartment, part 2

Raymond Chen

Using a reference stored in the global interface table.