Chris Morgan cmorgan@alum.wpi.edu wrote:
I wouldn't mind adding a systray icon. I wasn't really sure how that was supposed to be done. I tried having the service add a systray icon without much success, I don't believe services can interact with the desktop. That may mean that a separate winrash monitor may have to be written that communicates with the service.
Services can interact with the desktop but not by default. It is a special option you specify when installing the service.
The magic for this is in the dwServiceType parameter of the CreateService() to register a service object in the system.
From MSDN:
SERVICE_FILE_SYSTEM_DRIVER File system driver service. SERVICE_KERNEL_DRIVER Driver service. SERVICE_WIN32_OWN_PROCESS Service that runs in its own process. SERVICE_WIN32_SHARE_PROCESS Service that shares a process with one or more other services. For more information, see Service Programs.
If you specify either SERVICE_WIN32_OWN_PROCESS or SERVICE_WIN32_SHARE_PROCESS, and the service is running in the context of the LocalSystem account, you can also specify the following type.
Type Meaning SERVICE_INTERACTIVE_PROCESS The service can interact with the desktop.
Not sure how winrash is currently installed but if it is not through a small Win32 setup app but an InstallShield app, I'm sure it has according parameters to let it install as interactive service
Rolf Kalbermatter
Hi,
On Thu, Jul 29, 2004 at 12:05:08PM +0200, Rolf Kalbermatter wrote:
Chris Morgan cmorgan@alum.wpi.edu wrote:
I wouldn't mind adding a systray icon. I wasn't really sure how that was supposed to be done. I tried having the service add a systray icon without much success, I don't believe services can interact with the desktop. That may mean that a separate winrash monitor may have to be written that communicates with the service.
Services can interact with the desktop but not by default. It is a special option you specify when installing the service.
One thing that should be mentioned here is that this is probably the way to easily gain admin access (via the unfixably broken windows message injection flaw in foreign processes that are system services). (see "shattered windows" article on the internet or so) Microsoft thus recommends using a separate non-privileged gui process for querying/setting service related data.
Andreas Mohr