Interactive Services
An interactive service is a service that can interact with the application
desktop. Other desktops do not receive user input. For more information, see
Window Stations and Desktops.
An interactive service must run in the context of the LocalSystem account and
be configured to run interactively. Services are configured to run
interactively when the
dwServiceType parameter in a
CreateService call is set to include the SERVICE_INTERACTIVE_PROCESS flag. However, the
following registry key contains a value,
NoInteractiveServices, that controls the effect of the SERVICE_INTERACTIVE_PROCESS flag:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows
The
NoInteractiveServices value defaults to 0, which means that services marked with the
SERVICE_INTERACTIVE_PROCESS flag will be allowed to run interactively. When the
NoInteractiveServices value is set to a nonzero value, no service started thereafter, regardless of
whether it has been configured with SERVICE_INTERACTIVE_PROCESS, will be
allowed to run interactively.
Note It is possible to display a message box from a service, even if it is not
running in the LocalSystem account or not configured to run interactively. Simply
call the
MessageBox function using the MB_SERVICE_NOTIFICATION flag. Do not call
MessageBox during service initialization or from the
Handler routine, unless you call it from a separate thread, so that you return to the
SCM in a timely manner.
It is also possible to interact with the desktop from a non-interactive
service by modifying the DACLs on the interface window station and desktop or by
impersonating the logged-on user and opening the interactive window station and
desktop directly. For more information, see
Interacting with the User by a Win32 Service.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database