The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Using the contents of a file to define an MSBuild property
Mar 27, 2023
Post comments count 2
Post likes count 1

Using the contents of a file to define an MSBuild property

Raymond Chen
Raymond Chen

A little trick that maybe should be better known.

Adventures in application compatibility: The case of the jump into the middle of an instruction from nowhere
Mar 24, 2023
Post comments count 25
Post likes count 7

Adventures in application compatibility: The case of the jump into the middle of an instruction from nowhere

Raymond Chen
Raymond Chen

Another rogue patcher.

How unique must the <CODE>uIdSubclass</CODE> parameter be when I call <CODE>Set­Window­Subclass</CODE>?
Mar 23, 2023
Post comments count 0
Post likes count 2

How unique must the uIdSubclass parameter be when I call Set­Window­Subclass?

Raymond Chen
Raymond Chen

Each one identifies an instance of the subclass for the window.

Why am I getting a weird error about <CODE>promise_type</CODE> when I try to write a coroutine? part 2
Mar 22, 2023
Post comments count 0
Post likes count 0

Why am I getting a weird error about promise_type when I try to write a coroutine? part 2

Raymond Chen
Raymond Chen

Are you even writing a coroutine?

Why does the usage of the initial registers of a Win32 process depend on whether it is a 32-bit or 64-bit process?
Mar 21, 2023
Post comments count 5
Post likes count 1

Why does the usage of the initial registers of a Win32 process depend on whether it is a 32-bit or 64-bit process?

Raymond Chen
Raymond Chen

Well, I mean, it's a different processor.

On the proper care and feeding of the enigmatic <CODE>Get­Distance­Of­Closest­Language­In­List</CODE> function
Mar 20, 2023
Post comments count 0
Post likes count 1

On the proper care and feeding of the enigmatic Get­Distance­Of­Closest­Language­In­List function

Raymond Chen
Raymond Chen

Thinking about how this could be used.

Exploiting C++/WinRT CRTP: Property and event declarations
Mar 17, 2023
Post comments count 2
Post likes count 2

Exploiting C++/WinRT CRTP: Property and event declarations

Raymond Chen
Raymond Chen

They don't have to be methods; they just have to look like methods.

Mind your C++/WinRT namespaces
Mar 16, 2023
Post comments count 0
Post likes count 1

Mind your C++/WinRT namespaces

Raymond Chen
Raymond Chen

What you say changes meaning depending on where you are.

How can I create a git feature branch that can merge into multiple other branches?
Mar 15, 2023
Post comments count 0
Post likes count 1

How can I create a git feature branch that can merge into multiple other branches?

Raymond Chen
Raymond Chen

Just work in your patch branch.