The Old New Thing

Why does Ctrl+ScrollLock cancel dialogs?

Commenter Adam Russell asks why Ctrl+ScrollLock cancels dialogs. Easy. Because Ctrl+ScrollLock is the same as Ctrl+Break, and Ctrl+Break cancels dialogs. Okay, that answer actually raises two more questions. First, why is Ctrl+ScrollLock the same as Ctrl+Break? This is a consequence of the backward compatibility designed into the Enhanced ...

Why couldn't you have more than one instance of a 16-bit multi-DS program?

Recall that the identified a set of variables. This causes a bit of a problem if your program has multiple data segments; in other words, multiple sets of variables. In such a program, the code would load the data segment of whatever variable it needed each time it needed to access a variable from a different segment. This was no problem at ...

Grass jelly may be an Asian drink, but it's not crazy

Chris Pirillo discovered Crazy Asian Drinks, a Web site devoted to the beverage preferences of people from the eastern part of Asia. Now, the text is really funny (which is important), but I would like to come to the defense of grass jelly drink. First of all, when I was growing up, grass jelly wasn't a drink. It was a dessert. It came in...

What did MakeProcInstance do?

doesn't do anything. What's the point of a macro that doesn't do anything? It did something back in 16-bit Windows. Recall that in 16-bit Windows, the was the mechanism for identifying a data segment; i.e., a bunch of memory that represents the set of variables in use by a module. If you had two copies of Notepad running, there was ...

When there's a problem with the platform, you blame the platform, whether it's the platform's fault or not

I watched with a twinge of sad recognition Scoble's hissy fit when his blog didn't show up correctly in Bloglines because it was the classic application compatibility problem, just shifted to the world of Web 2.0. (I don't know what Web 2.0 means, but since nobody else who uses the term knows what it means either, I'm at least in good company...

Why did the display become a snapshot of the last time the monitor was plugged into the computer?

I left the story of the return of the dead home desktop computer with a puzzle. When I plugged the monitor back into the original computer, it showed a snapshot of the screen at the time the monitor was unplugged. The computer itself continued operating, but the screen never updated. The frozen image remained until the power was turned off to...

Who decides what can be done with an object or a control?

This is one of those things that is obvious to me, but perhaps is not obvious to everyone. An object establishes what can be done with it. Any rights granted by the object go to the creator. The creator can in turn grant rights to others. But if you're a third party to the object/creator relationship, you can't just step in and start messing ...

The dead home desktop returns from the dead

I brought my dead home desktop computer to the office so I could fiddle with it after work while surrounded by large quantities of geek equipment that could step in to assist. I tried to use a power supply from another computer in a sort of computerish version of jump-starting a car, but it was a hopeless endeavour because the cables on the ...

DLL forwarding is not the same as delay-loading

As I noted earlier, when you create a forwarder entry in an export table, the corresponding target DLL is not loaded until somebody links to the forwarder entry. It looks like some people misread this statement to suggest some sort of delay-loading so I'm going to state it again with an example in mind in the hopes of clearing up any ...