The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Feb 5, 2010
Post comments count 0
Post likes count 0

A simple Venn diagram teaches you the difference between Norway and Sweden

Raymond Chen

Not sure it helps, though.

Feb 5, 2010
Post comments count 0
Post likes count 1

Why doesn't my program receive the WM_DWMSENDICONICTHUMBNAIL message when I ask for an iconic representation?

Raymond Chen

A customer was having trouble adding Windows 7 taskbar integration features to their application: I'm trying to use the new Windows 7 taskbar integration features, but am running into a problem. I've made certain that my program has the and [corrected 8am] attributes set, yet I never receive a message in my window procedure. A member of the taskbar team invoked psychic powers: Is your program running elevated by any chance? If so, then you need to add the message to your UIPI message filter: Psychic powers once again save the day. That was it. Thanks! Note that forcing someone to in...

Feb 4, 2010
Post comments count 0
Post likes count 1

The Brits once again come up with a clever solution to the problem of the scatterbrained client

Raymond Chen

My friend :: Wendy :: got into a state where she kept misplacing her passport. (I guess she keeps moving it around.) The first time she misplaced her passport and gave up looking for it, she reported it missing and received a replacement. Then she misplaced the replacement, and while searching for it, she found the original. She reported the first passport as found; this keeps the issuing government happy since they can take it off their If Somebody Tries To Use a Passport with This Number, Arrest Her list. But they can't reactivate the original passport, because it takes time for the updated list t...

Feb 4, 2010
Post comments count 0
Post likes count 1

Why doesn't the shell animation control tell me the dimensions of the animation it is displaying?

Raymond Chen

As we saw some time ago, the shell animation control suffers from many limitations because its job is to be a scaled-down animation control instead of one of its more full-featured counterparts. One customer wanted to know how to load an animation into the shell animation control and then query its dimensions. Well, there is no message that reveals the dimensions of the animation. Why not? Because you should already know. You can't use the shell animation control a general-purpose animation control because of those pesky limitations. You can only use animations that you yourself authored to conform to the cont...

Feb 3, 2010
Post comments count 0
Post likes count 1

Long-term temporary parking?

Raymond Chen

On my way to work, I saw a Notice of Proposed Land Use Action. The proposed new use for the property was listed as long-term temporary parking. What the heck is long-term temporary parking?

Feb 3, 2010
Post comments count 0
Post likes count 2

What is the maximum length of an environment variable?

Raymond Chen

Depends on who is setting it.

Feb 2, 2010
Post comments count 0
Post likes count 1

It appears that car park computers revert to their native language, German, when placed under stress

Raymond Chen

A car park in Birmingham switches from English to German in times of stress. That reminded me that over a decade ago, a colleague of mine noticed an error message on the screen at the exit to the parking garage at the Seattle-Tacoma International Airport. The way the airport works, you pick up a ticket as you enter, and you pay your parking fee at vending machines stationed around the parking garage, and at the exit, you insert the (paid) ticket into the machine, which verifies that you paid your parking fee and opens the gate. When my colleague pulled up to the machine, instead of displaying the expected Plea...

Feb 2, 2010
Post comments count 0
Post likes count 1

Microspeak: Future-proofing

Raymond Chen

It has been famously said that England and the United States are two countries separated by a common language. The same holds true for Microspeak. In the Redmond dialect of Microspeak, we talk about extensibility: Designing a system with specific points where features can be added in the future, often by outside parties. For example, an example of an extensibility point in the shell would be a context menu handler or a namespace extension. In the Reading dialect of Microspeak, the term for this is future-proofing. On the other hand, if you use the term future-proofing in Redmond, people will interpret it di...

Feb 1, 2010
Post comments count 0
Post likes count 0

It looks a little like CMD except there is white on the background

Raymond Chen

Surely by now you've seen the video where NextGenHacker101 shows you how to use the "Tracer T" program to view "how many IP's are looking at Google", their name, and connection speed (to then to then to then). (And commenter squizz explains why it "worked" in spite of the http prefix.) But more awesome is the fact that somebody ported the video to linux! Bonus video craziness: It's in Korean but somehow that just adds to the insanity. (Warning: Five minutes of your life you will never get back.) The comments on the YouTube video identify the song as "Bo Pee...