I have been told that the NT 4.0 Resource Kit has a tool to turn an executable, such as one created in VB5, into a service running on NT 4.0. I have my doubts about this, since I have been reading your article on creating an NT service using VB and an OCX. I would like to confirm this, because our company may buy the Resource Kit if it proves this useful.
First, buy the Resource Kit. It has a lot of cool and useful utilities (including a help file listing the meanings of many of the registry functions).
Second, yes, the 4.0 Resource Kit (as well as the one for NT 3.50 and 3.51) includes a file (SRVANY.EXE) that will allow you to run any 32-bit and some 16-bit apps as a service. This is ideal for executables that you didn’t write. You could write your own service to start that EXE, but that is exactly what SrvAny does. So, if you need this exact functionality, then just use SrvAny. Note, however, that there are some limitations. You can’t pause a program started this way, you can’t send custom messages (128 – 256), and I found that it wasn’t 100% dependable starting apps after a reboot (but I never could nail down the conditions for this, so take the last limitation with a grain of salt).
However, if you are writing the app yourself, it would be preferable to create it as an NT service directly. Your number of options is increased geometrically, with the only downside being a small amount of pain in creating the app as a service rather than as a standard (or ActiveX) EXE.