The Old New Thing

When you don't speak a language, don't sound like you speak the language

I appreciate the help from Christoph and Voo in refining my German. But that reminds me of a story about a friend of a friend. She was in Japan to visit some friends. Although she speaks English and Mandarin fluently, she doesn't know any Japanese, so her friends taught her how to say "Sorry, I don't speak Japanese." She managed to say this...

What were the tests that WinG did to evaluate video cards?

Georg Rottensteiner was curious about the weird things that WinG performed on installation to evaluate video cards. "What did it do actually and what for?" I don't actually know, since I was not involved in the WinG project, but I remember chatting with one of the developers who was working on video card benchmarks. He says that video card...

A process shutdown puzzle, Episode 2

A customer reported that their program would very sporadically crash in the function . The customer was kind enough to provide a stack trace at the point of the crash: The customer wondered, "Could the problem be that my cleanup group does not have a callback? MSDN seems to suggest that this is okay." The exception being thrown is , but...
Comments are closed.0 0
Code

Shortcut properties are in the shortcut, so if they can read the shortcut, they can read the properties

A customer wanted to know if "there was a way to hide the properties of a shortcut." We asked for an explanation of the problem they were trying to solve, so we could understand what their question meant. The customer liaison explained: The customer is insisting on this, even though I think it's really the wrong approach. They want to put a ...

How do I prevent users from opening TIF files?

A customer had a question about their Windows XP installations. (This question was from several years ago, so the fine details aren't really relevant any more, but I'm actually telling this story for a commentary opportunity.) The customer wanted to disable all file associations for TIFF files. Their first attempt was by deleting and...

I thought I was so clever, salvaging an old floppy drive from a dead computer, but I didn't think *two* steps ahead…

When one of the oldest computers at Microsoft still doing useful work finally died, I had the presence of mind to salvage the 5¼″ floppy drive from the machine, so that I could (someday) extract the data off all the old 5¼″ floppy discs I have packed away in boxes meaning to convert someday. (Mind you, the data ...

Why are programs allowed to use normal characters as hotkeys?

alv wonders why programs are allowed to create hotkeys for normal characters. The example given is the famous AltGr modifier, equivalent to Ctrl+Alt. Programs which ignore the guidance and use Ctrl+Alt as a shortcut modifier end up stealing keys from many non-English keyboard layouts, thereby preventing users from typing things like the Euro...

What does INIT_ONCE_CTX_RESERVED_BITS mean?

Windows Vista adds the One-Time Initialization family of functions which address a common coding pattern: I want a specific chunk of code to run exactly once, even in the face of multiple calls from different threads. There are many implementations of this pattern, such as the infamous double-checked lock. The double-checked lock is very ...
Comments are closed.0 0
Code

Why don't I get a Caps Lock warning balloon any more?

A customer asked for help diagnosing a problem they were experiencing on Windows XP: My customer reports that on their machines, they do not get the warning balloon that appears when Caps Lock is set while you are typing into a password field. I searched for relevant KB articles but couldn't find anything related to that. Can you help...

Why doesn't the Version tab show up for very large files?

If you have a really large file and try to view its properties in Explorer, you may find that the Version tab doesn't appear. What's going on? The Version tab uses the family of functions to obtain version information from files. It so happens that the function works by calling and then using functions like to locate the version resource ...