krinnicam version 2 has been redesigned so its main functionality resides in an ActiveX server dynamic link library:
kcamserver.dll. This library exports a COM class named
Camera which defines a number of methods to control the camera.
krinnicam executables (for USB, serial and dual cables) are just graphical user interfaces that work with the underlying kcamserver.dll. Of course, you can write your own graphical user interface for kcamserver.dll without knowing anything of the inner workings of the camera communications: you will have to use a programming language compatible with COM. Visual Basic, due to its simplicity for building graphical interfaces, can do the job. In fact, krinnicam v2 executables are written in this language.
If you are more insterested in automated camera control, you may want to try to write shell scripts. For example, if you write a text file with the following content, and then name it with the .vbs extension (visual basic script), just a double click on it will take a picture, with a resolution of 640x480, normal quality, focused to infinity and with a focal length of 10mm.
Dim cp Set cp = CreateObject("kcamserver.Camera") cp.ConnectUSB "Coolpix 995", "I:" cp.Resolution = "640x480 Normal" cp.Focus = "Infinity" cp.FocalLength = 10.0 cp.Shoot cp.Disconnect Set cp = Nothing
For more information about krinnicam scripting, have a look at the interface specification, where you can find the complete method reference and usage examples (in visual basic script).
Of course, as free software, you can change the source code of kcamserver and/or krinnicam executables themselves in the terms specified by the license.