The Old New Thing

Changing a window class affects all windows which belong to that class

Sometimes you need to state the obvious, and that's fine. You can learn a lot from the obvious. For example, the first topic in my PDC talk consisted of simply stating the obvious. Occasionally, when you state the obvious, you have to follow up by stating the obvious. When I pointed out that the effect of SetCursor lasts only until the next...
Comments are closed.0 0
Code

The Top Gear Winter Olympics 2006

I know nothing about cars. Driving fast scares me. But I still enjoy the British car show Top Gear. The hosts clearly enjoy driving, and they don't hold back in their commentary. ("This was the first seven-seat 4×4 designed by someone who had children, not by an engineer who read about them in a book.") Last week was their Winter ...

Why can't I disable the Cancel button in a wizard?

The PropSheet_SetWizButtons macro lets you manipulate many of the buttons on a wizard, but the Cancel button remains elusive. Why can't you disable the Cancel button or the "X" button? Because our users tell us they don't like it. Observation of users in our labs and interviews with them reveal that wizards that disable the Cancel button ...

That $9 you got from the PayPal settlement? Taxable income.

If you're like many people, you signed up for the PayPal class action lawsuit and got around $9 for filing a claim against the Statutory Damage Fund. My read of IRS publication 4345 says that this constitutes taxable income. Note: This is just my personal opinion. Consult with your tax advisor before taking action. As for me, I reported it...

Enumerating threads in a process

The tool helper library is sort of the black sheep of Win32. It grew out of the 16-bit TOOLHELP library, which provided services for system debugging tools to do things like take stack traces and enumerate all the memory in the system. The original incarnation of Win32 didn't incorporate it; it wasn't until Windows 95 that a 32-bit ...
Comments are closed.0 0
Code

The performance cost of reading a registry key

The registry is a convenient place to record persistent cross-process data in a uniform and multi-thread-safe manner. It roams with the user if you store it in HKEY_CURRENT_USER, and individual keys can be secured (even on systems that use FAT, which doesn't otherwise support security). But that doesn't mean that it's free. The cost of ...
Comments are closed.0 0
Code

In pursuit of the message queue

In 16-bit Windows, every thread (or "task" as it was called then) had a message queue, end of story. In the transition to 32-bit Windows, this model broke down because Win32 introduced the concepts of "worker threads" and "console applications", neither of which had much need for messaging. Creating a queue for every thread in the system would...
Comments are closed.0 0
Code

Feedback usabilla icon