The Old New Thing

Microspeak: to family well

If you hang out with designers, you may hear the word family used as a verb, usually with the adverb well. The old icons now look dated and do not family well with the Web site. We renamed the feature from Auto Shape to Instant Shape so that it families well with other features like Instant Color. The authenticity certificate on the side ...

I wonder if the Queen of England ever pulls this sort of prank in real life

I dreamed that I was playing doubles tennis. My partner was Boris Becker. Our opponents were the Queen of England and a policeman on a horse. The horse served his horseshoe, which I returned poorly. As the horseshoe bounced across the ground, it made huge divots. The game was called due to poor ground conditions. The Queen played a game with...

Displaying a property sheet for multiple files

Today's Little Program will show a property sheet that covers multiple files, just like the one you get from Explorer if you multi-select a bunch of files and right-click them all then select Properties. In fact, that description of how you do the operation interactively maps directly to how you do the operation programmatically! #define ...
Comments are closed.0 0
Code

A big little program: Monitoring Internet Explorer and Explorer windows, part 3: Tracking creation and destruction

Last time, we listener for window navigations. Today we'll learn about tracking window creation and destruction. The events to listen to are the DShell­Windows­Events. The Window­Registered event fires when a new window is created, and the Window­Revoked event fires when a window is destroyed. The bad news is that the ...
Comments are closed.0 0
Code

A big little program: Monitoring Internet Explorer and Explorer windows, part 2: Tracking navigations

Okay, it's been a while since we set aside our Little Program to learn a bit about connection points and using dispatch interfaces as connection point interfaces. Now we can put that knowledge to use. Internet Explorer and Explorer windows fire a group of events known as DWeb­Browser­Events, so we just need to listen on those ...
Comments are closed.0 1
Code

Dispatch interfaces as connection point interfaces

Last time, we learned about how connection points work. One special case of this is where the connection interface is a dispatch interface. Dispatch interfaces are, as the name suggests, COM interfaces based on IDispatch. The IDispatch interface is the base interface for OLE automation objects, and if you want your connection point ...
Comments are closed.0 0
Code

An introduction to COM connection points

Last time, we saw how to enumerate all the Internet Explorer and Explorer Windows and see what they are viewing. But that program printed static information. It didn't track the changes to the windows if the user clicked to another Web page or navigated to a different folder. In order to hook that up, we need to understand the connection ...
Comments are closed.0 0
Code

Unexpected complexity of Swedish pronouns, and escaping the resulting embarrassment

I dreamed that Swedish had separate third-person-plural pronouns based on gender. They were formed from han and hon by adding a common suffix, but the pattern broke down for det, and I got stuck trying to finish a sentence without knowing the correct word. I was able to escape from this embarrassing situation by using a technique available ...

A big little program: Monitoring Internet Explorer and Explorer windows, part 1: Enumeration

Normally, Monday is the day for Little Programs, but this time I'm going to spend a few days on a single Little Program. Now, this might very well disqualify it from the name Little Program, but the concepts are still little; all I'm doing is snapping blocks together. (Plus, it's my Web site, so you can just suck it.) The goal of our ...
Comments are closed.0 0
Code

Sharing an input queue takes what used to be asynchronous and makes it synchronous, like focus changes

As I noted earlier in the series, attaching input queues puts you back into the world of coöperative multitasking, where the two attached threads need to work together to get anything done. Back in the old 16-bit days, when input was synchronous, there was only one active window, only one focus window, only one window with capture, ...
Comments are closed.0 0
Code