The Old New Thing

The undeletable Outlook folder

For a while, I've had a few "undeletable Outlook folders". Even after deleting all the messages from them, Outlook just complains when I try to delete them. There was some sort of error message, but of course I didn't read it. The only option was OK, so I clicked it. As I recall, the message said something about "Can't delete because blah ...

The history of the path separator in Japanese and Korean Windows

Why is the path separator on Japanese Windows the ¥ character? And why is it the ₩ character on Korean Windows? I've been prodding Michael Kaplan to delve into the history of this quirk, and he finally gave in to my repeated badgering. (Additional discussion on the Korean Won sign, the Japanese Yen sign, and currency symbols in...

Thread affinity of user interface objects, part 5: Object clean-up

The window manager and GDI objects as a general rule will automatically destroy objects created by a process when that process terminates. (The window manager also destroys windows when their owner threads exit.) Note, however, that this is a safety net and not an excuse for you to leak resources in your own program with the attitude of "Oh, ...

Newark Liberty International Airport Terminal A travel tips

The line for going through the security checkpoint at Terminal A of Newark Liberty International Airport splits into three lines after you get through the ID check. When you get to the decision point, they all look the same, but don't be fooled. ID / 3 ----------------------------------X >>>...

Thread affinity of user interface objects, part 3: Menus, icons, cursors, and accelerator tables

The remaining user interface objects in common use are menus, icons, cursors, and accelerator tables. Menus do not have thread affinity. Any thread can use a menu. However, if two threads use a menu, it is the responsibility of those threads to coordinate among themselves how that menu will be used, so that one thread doesn't modify a menu ...

New blog on integrating Groove with Office

Andrew Wharton from Groove has started writing about integrating the team and its product with Office. His opening salvo sets the stage and hooked me in for what looks to be an interesting glimpse into life in another division at Microsoft. (Something that is as mysterious to me as it is to you.) In the early days of the Windows division, ...

Thread affinity of user interface objects, part 2: Device contexts

Last time, we discussed briefly the thread affinity rules that govern window handles. Device contexts (DCs) also have a certain degree of thread affinity. The thread that calls functions such as must also be the one that calls , but as with window handles, during the lifetime of the DC, any thread can use it. If you choose to use a DC in ...

The difficult balancing act between customization and supportability

My colleague Kam VedBrat (from who I shamelessly stole the pictures of thse high-DPI displays in my PDC talk) discusses the difficult balancing act between customization and supportability. (Part II.) Note that decisions on this subject also also impact compatibility: Windows Vista greatly expands the palette of objects covered by the ...