The Old New Thing

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 ...

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 ...

The Windows 95 volume control almost went to eleven

The movie This Is Spinal Tap introduced the world to the phrase going to eleven. The people over at Windows Media Player were not immune to its charms, alluding to the catchphrase in their advertising campaign. Back in Windows 95, I know that there was at least one person who lobbied the multimedia team to give the Volume Control ...

Why do registry keys have a default value?

In addition to all the named values you can create underneath a registry key with the function, there is also the so-called default value which you obtain by passing or a pointer to a null string as the . This default value is also the value set and retrieved when you call and . What's the deal with this default value? The original 16-bit ...

How did registry keys work in 16-bit Windows?

Back in 16-bit Windows, the registry was a very different beast. Originally, the only registry hive was , and the only things it was used for were COM object registration and file type registration. (Prior to the registry, file type registration was done in , and the only verb you could register for was "open".) The registry was stored in a ...

What seems obvious today may have been impractical then

In the discussion of the environment variable problem, BryanK posits that the real mistake was allowing batch files to modify their parent environment in the first place. Instead, they should have run in a sub-process. Try saying that when your computer has only 16KB of memory, which is how much memory the original IBM PC came with. Heck, ...

The magical healing properties of safe mode – bonus content

Okay, so you already read The healing properties of safe mode in TechNet Magazine. Here's the bonus content that was cut for space. First, the original title was "The Magical Healing Powers of Safe Mode," but it got trimmed for space reasons. (Ich bin mit der deutschen Übersetzung des ersten Satzes ein bisschen enttäuscht. Die ...