How does Explorer deal with recent files that were renamed?
Roni wonders how Explorer manages to keep track of files that were moved or renamed. Specifically, "opening a shortcut to a renamed file actually updates the shortcut's destination and opens the...
View ArticleUsage guidance for a popcorn machine in the kitchenette
My colleague KC Lemson tipped me off to a sign hanging next to a popcorn machine in one of the kitchens: Please do not leave popcorn kettle on while unattended. The fire truck will come, and they...
View ArticleWhy does Windows Compressed Folders (Zip folders) reject paths that begin...
A customer asked, "Does NTFS support files with a null string as the name?" No, NTFS does not support files with no name. None of the commonly-used Windows file systems do. Files must have a name. But...
View ArticleCombo boxes have supported incremental searching for quite some time now
Back in August 2007, I promised to post a program the following day but it appears that I never did. Oops. I discovered this as I went through my "things to blog about" pile and figured better late...
View ArticleWhat happens if you forget to pass an OVERLAPPED structure on an asynchronous...
A customer noticed that they were accidentally issuing some I/O's against an overlapped handle without using an OVERLAPPED structure. The calls seemed to work, and the program did not appear to suffer...
View ArticleThe cries of "Oh no!" emerge from each office as the realization slowly dawns
Today is the (approximate) 15th anniversary of the Bedlam Incident. To commemorate that event, here's a story of another email incident gone horribly awry. Some time ago, an email message was sent to...
View ArticleIrony patrol: Recycling bins
Microsoft has a large corporate recycling effort. Every office, every mail room, every kitchenette, every conference room has a recycling bin. The dining facilities earned Green Restaurant...
View ArticleIf there's a problem with a wiki, then you can fix it; that's why it's a wiki
On an internal mailing list, somebody asked a question about how to do X with Y, and I replied with a link to an internal wiki that described how to do X with Y (answer: use the Z tool). Somebody else...
View ArticleWhy does ShellExecute return SE_ERR_ACCESSDENIED for nearly everything?
We saw a while ago that the ShellExecute function returns SE_ERR_ACCESSDENIED at the slightest provocation. Why can't it return something more meaningful? The short-term answer is that the return...
View ArticleUsing WM_COPYDATA to marshal message parameters since the window manager...
Miral asks for the recommended way of passing messages across processes if they require custom marshaling. There is no one recommended way of doing the custom marshaling, although some are hackier than...
View ArticleHow do you come up with new shortcut keys?
Anon asks, "How do you come up with new shortcut keys and how do you deal with different keyboard layouts? What is the process; is there a company-wide procedure to keep things consistent?" This is...
View ArticleDiversion: Generating a random color from JavaScript
A colleague posed a little puzzle for a fun little app he was writing in HTML: He wanted to generate a random color. If you search around the intertubes, you can find several possible attempts at a...
View ArticleYou can't use the WM_USER message in a dialog box
Today, I'm not actually going to say anything new. I'm just going to collate information I've already written under a better title to improve search engine optimization. A customer reported that they...
View ArticleKeyboard layouts aren't like Beetlejuice - they won't appear just because you...
A customer reported a bug in Windows Vista Home Editions: We are handling a Ctrl+V keyboard event and want to interpret it in the context of a US-English keyboard. // This keyState represents no keys...
View ArticleWhether the Unicode Bidi algorithm is intuitive depends on your definition of...
In Windows, we spend a good amount of time with the pseudo-mirrored build. And one of the things that you notice is that pseudo-mirrored text comes out looking really weird. For example, the string...
View ArticleIn the conversion to 64-bit Windows, why were some parameters not upgraded to...
James wonders why many functions kept DWORD for parameter lengths instead of upgrading to SIZE_T or DWORD_PTR. When updating the interfaces for 64-bit Windows, there were a few guiding principles....
View ArticleKeyboard shortcut for resizing all columns in a listview control to fit
The keyboard shortcut for resizing all columns in a report-mode (also known as Details mode) list view control to fit the current content width is Ctrl+Num+. That's the + key on the numeric keypad....
View ArticleThe wisdom of seve^H^H^H^Hsixth graders: Living without electronics for a week
Sixth grade students (ages 11 to 12, roughly) were instructed to imagine that they have no television, computer, or telephone for a week and write an essay (in the form of a letter to their parents)...
View ArticleThe TEMP directory is like a public hot tub whose water hasn't been changed...
A customer reported that they couldn't install product X. When they ran the installer, the got the error message setup.exe - Application Error The application was unable to start correctly...
View ArticleWhen you synthesize input with SendInput, you are also synthesizing the...
A customer was reporting a problem when they used the SendInput function to simulate a drag/drop operation for automated testing purposes. I see the mouse move from one location to another, and the...
View Article