Archive for February, 2011

Customizing icons and behaviors for UPnP devices on Windows

February 19, 2011 Leave a comment

I’ve been doing research into home automation through UPnP lately (the underlying technology for DLNA devices). One nice thing about UPnP devices is that they are easy to communicate with (when you have an implementation that allows for it) and appear in Windows Network Explorer. If you have an Internet gateway (router) or an Xbox 360, for example, you’ll see these devices appear in network explorer. This is UPnP behind the scenes.

A cool little customization I discovered was how to customize icons, verbs, and other shell extensions for different device types. A device URN describes the device type, and would look something like “urn:schemas-upnp-org:device:DimmableLight:1” (dimmable light). Using the device URN, you can add a registry key in Windows to customize for that device type.

    • NetworkExplorerPlugins
      • urn:schemas-upnp-org:device:DimmableLight:1
        • DefaultIcon
          • @ = Path, index to icon
        • Shell
          • Verbs
        • ShellEx
          • Shell handlers

The types of shell extensions supported are at least context menu and property sheet extensions, as evident from Internet gateway devices (IGDs).