|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
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.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Диалоговые Услуги
Диалоговая услуга является услугой, которая может взаимодействовать с прикладной настольной системой. Другие настольные системы не получают ввод пользователя. Более подробно, смотри Станции Окна и Настольных систем.
Диалоговая услуга должна работать в контексте счета LocalSystem и сконфигурирована, чтобы работать в диалоге. Услуги сконфигурированы, чтобы работать в диалоге когда параметр dwServiceType на вызове CreateService установлен, чтобы включать флаг SERVICE_INTERACTIVE_PROCESS. Тем не менее, следующий ключ регистрации содержит величину, NoInteractiveServices, которая регулирует эффект флага SERVICE_INTERACTIVE_PROCESS: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows
Величина NoInteractiveServices устанавливается по умолчанию на 0, которое означает, что услуги выделенные флагом SERVICE_INTERACTIVE_PROCESS будут позволены работать в диалоге. Когда величина NoInteractiveServices установлена в ненулевую величину, никакая услуга не начинала согласно этому, независимо от того, что она сконфигурирована SERVICE_INTERACTIVE_PROCESS, будет позволена работать в диалоге.
Отметьте что Это возможное, чтобы отображать ящик сообщения из услуги, даже если бы это не работает на счете LocalSystem или не сконфигурированных, чтобы работать в диалоге. Просто вызовите функцию MessageBox, использовавшую флаг MB_SERVICE_NOTIFICATION. Не вызывайте MessageBox в течение инициализации услуги или из программы Вручителя, если Вы не вызываете это из отдельной резьбы, чтобы Вы возвращали на SCM в своевременном способе. Также возможно должно взаимодействовать с настольной системой из не-диалоговой услуги модифицируя DACLs на станции окна интерфейса и настольной системы или подражая зарегистрированный-на потребителе и открывая диалоговую станцию окна и настольной системы непосредственно. Более подробно, смотри Взаимодействовать с Потребителем Услугой Win32.
|
|
|
|
| |