The Win32-services package

This package provides a partial binding to the Win32 System Services
API. It makes it easy to write Windows service applications using
Haskell. _Only 32-bit versions of GHC are supported at this time._

The binding is partial. Here are a few ways in which it differs from the
official API:

Only services running within their own process are supported. These are
processes of the WIN32_OWN_PROCESS type.

In cases where multiple versions of the same function exist (for
compatibility), this binding only offers one of them.

None of the extended control codes are supported. Handlers you write will
automatically report this to the operating system when such controls are
received.

Only facilities for writing services are supported; not controlling them.

Effort has been made to simplify using the API without hiding what is
happening behind the scenes. Users are encouraged to read Microsoft's
documentation under 'Dev Center - Desktop > Docs > Desktop app development
documentation > System Services > Services'. The official example has been
ported to Haskell. This can be found in the examples directory of the
source tree.

Depending on which version of Windows and the Windows SDK you are using the
.cabal file will need to be modified before installing. A simple `cabal
install Win32-services` may not work. For example, If you are building on
Windows 8 64-bit with the Windows 8 SDK the extra-lib-dirs field will need
to be changed to read as follows: