The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Why does my property sheet blink and the immediately disappear?
Feb 8, 2007
Post comments count 0
Post likes count 0

Why does my property sheet blink and the immediately disappear?

Raymond Chen
Raymond Chen

Occasionally, a customer will ask, "I'm trying to display a property sheet, but when I call the function, the property sheet blinks onto the screen and then immediately disappears. What is wrong?" Recall that displaying a property sheet entails filling out a structure, which in turn contains a pointer to either an array of s, or more often, an array of structures. Each or structure describes one page of the property sheet. When you ask for a property sheet to be displayed, the property sheet manager looks up each of the pages you specified in order to get its title, and then it starts off by displaying the...

Maintaining standards of Japanese food abroad
Feb 7, 2007
Post comments count 0
Post likes count 0

Maintaining standards of Japanese food abroad

Raymond Chen
Raymond Chen

They've been nicknamed the sushi police. In response to horror stories from Japanese travelling abroad and being shocked by what passes for Japanese food outside their borders, the Japanese agriculture ministry is developing certification standards for restaurants abroad that want to call themselves Japanese. Their results are supposed to be out at the end of this month with inspections to begin in April. You can't say that the Japanese aren't looking out for the psyche of their citizens abroad. (But if they've made the effort to travel to another country, shouldn't they be eating the local food instead of Jap...

Why can't I create my dialog box? Rookie mistake #2
Feb 7, 2007
Post comments count 0
Post likes count 0

Why can't I create my dialog box? Rookie mistake #2

Raymond Chen
Raymond Chen

Another class of rookie mistake is less obvious from looking at the code. The problem with this code is that we forgot to call to register the listview class. More generally, the problem is that one of the controls on the dialog uses a window class that was not registered. (For example, maybe there's a rich edit control on the dialog, but nobody remembered to load the rich edit library.) Next time, a sophomore version of this mistake.

Why can't I create my dialog box? Rookie mistake #1
Feb 6, 2007
Post comments count 0
Post likes count 0

Why can't I create my dialog box? Rookie mistake #1

Raymond Chen
Raymond Chen

Each dialog box resource is specified either by an integer ordinal or by a string name. But a simple typo will turn one into the other. Do you see the two "classic rookie mistakes"? It may be easier to spot if you take the resource file and send it through the preprocessor first: The first call to passes as the resource name. But notice that there is no resource with that name. The preprocessor turned into thanks to the line in the header file. Therefore, the call to fails since there is no dialog box named . The dialog box you want goes by the integer name 1. The second mistake is more sub...

Bonus material for The Old New Thing (the book) is now available for download
Feb 6, 2007
Post comments count 0
Post likes count 1

Bonus material for The Old New Thing (the book) is now available for download

Raymond Chen
Raymond Chen

I've just been informed by my publisher that the bonus chapters from my book are now available for download. Click on "Sample Chapters". Sorry they're late. The source code for the programs in the book can be downloaded from the "Source Code" link. And on a more embarrassing note, there's that "Errata" link, too.

Public service announcement for United States taxpayers: In tax year 2006, you can claim a $30 refund if you owned a telephone
Feb 5, 2007
Post comments count 0
Post likes count 0

Public service announcement for United States taxpayers: In tax year 2006, you can claim a $30 refund if you owned a telephone

Raymond Chen
Raymond Chen

The United States government authorized a one-time refund of long-distance excise taxes paid between March 2003 and July 2006, but early returns suggest that many taxpayers are unaware of this refund. (Here's the IRS press release that goes into more detail and includes a list of most common mistakes people have been making.) The easy way to claim this is merely to take the standard deduction of $refund; the hard way is to collect all your telephone bills from that period and compute how much long distance excise tax you actually paid. This entry also illustrates how all the nitpicking from commenters ov...

Why did Explorer say "The target you specified is on the desktop"?
Feb 5, 2007
Post comments count 0
Post likes count 0

Why did Explorer say "The target you specified is on the desktop"?

Raymond Chen
Raymond Chen

In Windows 95, if you had a shortcut to a file on the desktop, view the shortcut's properties, and then clicked "Find Target", you got the message "The target you specified is on the desktop". It also selected the item on the desktop to help you find it. But why didn't it just open an Explorer window that viewed the desktop? Because in Windows 95, you couldn't display the desktop in an Explorer window. The only way to see the desktop was to minimize all your application windows. There wasn't a "Show Desktop" button in Windows 95 either. Therefore, the shortcut property sheet did as much as it cou...

The publicity machine doesn't stop: TechNet podcast interview
Feb 2, 2007
Post comments count 0
Post likes count 0

The publicity machine doesn't stop: TechNet podcast interview

Raymond Chen
Raymond Chen

The TechNet Magazine Podcast page has just posted their February 2007 entry, which includes an interview with little old me in the second half. I haven't listened to the whole interview yet, but what struck me immediately is that I was pretty darned punchy and goofy, whereas I think the host was trying to take a more serious tone. Oops.

Super Bowl Sunday: The day the entire country stops doing anything
Feb 2, 2007
Post comments count 0
Post likes count 0

Super Bowl Sunday: The day the entire country stops doing anything

Raymond Chen
Raymond Chen

This upcoming Sunday features an event that means absolutely nothing to people outside the United States: The Super Bowl. I call it an event because it is more than simply a football game. It's an American institution. Even people who think a nose guard is a piece of safety equipment will watch the game, or at least pretend to be interested in it for a few hours. At a party last year, I met someone who spent time as an emergency room doctor, and he told me that the entire hospital goes quiet when the Super Bowl is on. Patients don't come in. Inpatients don't call for nurses. Those who are already in the waitin...