Photoboof claims it can work with Canon Powershots, EOS DSLR's, Nikon DSLR's, and even regular webcams. I've been wondering how Photoboof can pull off supporting all these cameras. Did it have to link the libraries specific to each camera model? Well, as it turns out, it doesn't really talk directly to the camera's firmware. Instead, it works with the camera's existing bundled software to handle the actual remote photo-shooting. Then it just picks up the jpg files from some local folder.
I have to admit its an ingenious solution. For Canon EOS DSLR's, it uses the bundled EOS Utility software to handle actual communication with the camera and the remote shooting part. The EOS Utility even support "tethered" shooting, or shooting from the camera and having the image sent directly to the PC via USB, without saving a copy first on the CF Card inside the camera.
Photoboof uses the popular Irfanview image viewer software to handle the actual rendering of the image to the printer. Again, very ingenious. The author didn't have to do the dirty work of communicating with the printer.