The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Dec 22, 2023
Post comments count 11
Post likes count 2

If I don’t have any items, what error should my IFolderView::Items method return?

Raymond Chen

It shouldn't return an error at all.

Dec 21, 2023
Post comments count 2
Post likes count 3

How do I get access to the wParam and lParam of the WM_QUERY­END­SESSION method from my MFC message handler?

Raymond Chen

Don't be afraid to see how the macros are built.

Dec 20, 2023
Post comments count 1
Post likes count 1

It rather involved being on the other side of this airtight hatchway: Spoofing another program

Raymond Chen

You already had the power to do it yourself.

Dec 19, 2023
Post comments count 1
Post likes count 1

Microspeak: Locked and loaded

Raymond Chen

Armed and ready, with the suggestion that no further changes will be needed (or accepted).

Dec 18, 2023
Post comments count 1
Post likes count 0

In 2023, the Gävle Goat faces a new threat to its survival

Raymond Chen

It's bock.

Dec 18, 2023
Post comments count 3
Post likes count 1

If the RegisterClass function takes ownership of the custom background brush, why is it leaking?

Raymond Chen

It takes ownership only on success.

Dec 15, 2023
Post comments count 2
Post likes count 1

How do I specify an optional string parameter to a Windows Runtime method?

Raymond Chen

Strings are sort of reference but sort of values.

Dec 14, 2023
Post comments count 1
Post likes count 1

How do I specify an optional parameter to a Windows Runtime method?

Raymond Chen

There is no way to express explicit optionality, but there are implicit ways.

Dec 13, 2023
Post comments count 0
Post likes count 2

How can I work around the absence of default parameters in the Windows Runtime?

Raymond Chen

You can fake it with overloads.