Чтобы определить, запускается ли служба как диалоговая служба, вызовите функцию GetProcessWindowStation, чтобы извлечь дескриптор оконной станции, а функцию GetUserObjectInformation, чтобы проверить, имеет ли оконная станция атрибут WSF_VISIBLE.
Однако, обратите внимание! на то, что нижеследующий ключ реестра включает в себя значение NoInteractiveServices, который управляет воздействием флажка SERVICE_INTERACTIVE_PROCESS:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows |
Значение NoInteractiveServices принимает значение по умолчанию 0 (ноль), что означает, что службам с SERVICE_INTERACTIVE_PROCESS позволяется запуститься в интерактивном режиме. Когда NoInteractiveServices устанавливается в ненулевое значение, никакой службе, стартующей после этого не позволяют запуститься в интерактивном режиме, независимо от того, имеет она или нет флажок SERVICE_INTERACTIVE_PROCESS.