As there is a widget for Mac, now there is a "Gadget" for Windows 7. You can download it here. The whole family of emulators is based on the same engine, which aims to emulate the venerable HP-12C as closely as possible (any difference may be reported as a bug). Hope you enjoy it.
I seldom use Windows, but since the platform is now offering this intelligent and easy-to-use API, why not give it a try?
Many thanks to Edson Zampieri which pointed out that it should be easy to make a gadget once there is a widget. He even provided a sample gadget.xml file and a screenshot to prove that it worked :) Then it was just a matter of rounding up, removing the widget-only code etc.
Technical details
It also lacks the "flip" trick that widget has, with the back of the calculator listing the key bindings. To compensate for this, I have included the key bindings at gadget download page.
Making a gadget is indeed as easy as making a widget. A gadget is nothing more than a folder with a gadget.xml "manifest", which points the HTML file. The rest comes by itself. I did not change one line of Javascript code, it worked right away (of course I had removed the things that are specific to widgets).
As usual, Windows lacks the refinement of Mac environment. For example, the default background (behind the calculator picture) is not transparent by default, and making it transparent causes funny effects like purple pixels (and this is *mentioned* in documentation!). So I opted for having a black background and that's it -- no round edges like Mac version.
Another minor issue: the body element must have a well-defined width and height. Failing to define this shows a very small widget, that in case of this gadget was just a small, top left portion of the calculator. 3(In widget, the body size is implicitly defined by the contained elements.)
Auto-installation
In order to make a gadget install automatically, the following measures must be taken:
a) The XML manifest must be "top level" in Zip file -- that is, not inside a folder. Upon installation, Windows makes a new gadget folder and puts the files there, automatically. You can have folders inside the Zip, but only if they are meant to become sub-folders inside the gadget folder (e.g. for a very complex gadget). In the case of HP-12G, which is simple enough, all files are top-level in Zip.
b) The Zip file must be renamed to .gadget extension.
c) If the file is served over Web, the HTTP server must report the .gadget file as MIME type application/x-windows-gadget.
This can be tricky if not already configured in your HTTP server and you don't have administrative access in order to fix it. In Apache, I have added the following line to apache.conf:
AddType application/x-windows-gadget .gadget
and the following line to /etc/mime.types:
application/x-windows-gadget gadget
Due to the strange cache policy of Internet Explorer, the fix may not "work" immediately. I had to clear the IE cache so the new MIME type was seen by IE. Probably it would not be necessary to touch mime.types, but that IE problem made me try many things to address the problem, so I left both changes in place.
Kind of stupid, needing a brand new MIME type for such a simple thing, while Mac OS X can detect and handle widgets inside regular Zip files perfectly. But that's the way it is.