Showing tag results for History

Sep 25, 2008
Post comments count0
Post likes count2

Even if a function doesn’t do anything, you still have to call it if the documentation says so, because it might do something tomorrow

Raymond Chen
Raymond Chen

If the documentation says that you have to call a function, then you have to call it. It may be that the function doesn't do anything, but that doesn't prevent it from doing something in the future. Today's example is the function , which returns you all the environment variables of the current process in a single block, which you can then study ...

History
Sep 17, 2008
Post comments count0
Post likes count1

Well at least that’s one fewer program that relies on window handles being even numbers

Raymond Chen
Raymond Chen

Earlier this year I received a piece of email from a programmer at a major software firm, reprinted below (suitably redacted) with permission. It was a sort of a mea culpa. (Remember: no guessing allowed.) Hi, Raymond. I'm a dev on Product X and recently we were sitting around having a beer after work, discussing the long and sordid hist...

History
Aug 25, 2008
Post comments count0
Post likes count1

Why was the RAM drive removed from Windows 95?

Raymond Chen
Raymond Chen

Commenter Travis Owens asks, "Why was the RAM drive removed from Windows 95?" As with many of these types of accusatory questions, this comes with a false hidden assumption, in this case, that the RAM drive was in Windows 95 to begin with. Remember that Windows 95 introduced a new driver model, so any RAM drive would have had to be w...

History
Aug 6, 2008
Post comments count0
Post likes count1

What’s with this MSH_MOUSEWHEEL message?

Raymond Chen
Raymond Chen

The hardware folks had this mouse wheel thing they were making, and they needed a way to get applications to support the mouse. Now, one way of doing this was to say, "Well, we'll start selling this wheel mouse, but no applications can use it until the next version of Windows is released, one that supports the wheel." Of course, that would have me...

History
Jul 16, 2008
Post comments count0
Post likes count1

The evolution of menu templates: 32-bit extended menus

Raymond Chen
Raymond Chen

At last we reach the 32-bit extended menu template. Introduced in Windows 95, this remains the most advanced menu template format through Windows Vista. As you might expect, the 32-bit extended menu template is just a 32-bit version of the 16-bit extended menu template, so if you've been following along, you should find no real surprise...

History
Jul 15, 2008
Post comments count0
Post likes count1

The evolution of menu templates: 16-bit extended menus

Raymond Chen
Raymond Chen

Windows 95 introduced a new menu format, known as "extended menus". You declare these in a resource file with the MENUEX keyword. The 16-bit extended menu is really just a temporary stopping point on the way to the 32-bit extended menu, since the 16-bit form is supported only by the Windows 95 family of operating systems. It's sort of th...

History
Jul 14, 2008
Post comments count0
Post likes count1

Why does the “Install Font” dialog look so old-school?

Raymond Chen
Raymond Chen

8 wonders why the "Install Font" dialog looks so old-school. (And Kevin Provance demonstrates poor reading skills by not only ignoring the paragraph that explains why the suggestion box is closed, but also asking a question that's a dup of one already in the suggestion box!) Because it's a really old dialog. That dialog has been around for ...

History
Jul 11, 2008
Post comments count0
Post likes count1

The evolution of menu templates: 32-bit classic menus

Raymond Chen
Raymond Chen

Now that we've got a handle on 16-bit classic menu templates, we can move on to the next evolutionary step, namely 32-bit classic menu templates. The 32-bit classic menu template is in fact nearly identical to the 16-bit classic menu template. The only change is that the menu text is now a Unicode string instead of an ANSI string. Consequently,...

History
Jul 10, 2008
Post comments count0
Post likes count1

What’s the deal with that alternate form for menu item template separators?

Raymond Chen
Raymond Chen

We saw last time that you can specify a separator in a menu item template by specifying zero for everything, even though technically you're supposed to pass MFT_SEPARATOR for the flags. What's the deal with that alternate form for menu item template separators? This goes back to the early days of the InsertMenu function (and its friends like Ap...

History
Jul 9, 2008
Post comments count0
Post likes count1

The evolution of menu templates: 16-bit classic menus

Raymond Chen
Raymond Chen

Menus aren't as complicated as dialogs. There are no fonts, no positioning, it's just a list of menu items and flags. Well, okay, there's the recursive part, when a menu has a submenu. But that's really the only wrinkle. Most of it is pretty boring. The 16-bit classic menu template begins with the following header: struct MENUHEADER16 { WORD ...

History