当机器重新启动时,在用户登录之前是否运行了所有在帐户(系统/服务/网络服务)下运行的服务?
京东。
最佳答案
服务有一个为每个服务定义的“启动类型”,这些类型是boot, system, auto, demand, disabled.
服务也相互依赖,在注册表中定义。
服务 boot
和 system
start 类型在只有 NT Native 二进制文件可以运行的时间段内启动(Win32 API 尚未准备好)。例如,这些服务包括 csrss.exe
它提供了一些 Win32 API。
Win32 初始化后,启动类型为 automatic
的服务开始了。在此期间,允许用户登录的服务运行 -- 这会显示登录提示并允许用户登录。
在任何情况下,如果正在启动的服务依赖于其他服务,那么其他服务将提前启动。
所以,是的,用户可以在执行服务之前登录。但是,如果登录服务依赖于您的 服务……不过,如果您检测到您的服务已经启动,则更好。考虑将命名的全局事件与 CreateEvent() api 一起使用。您的服务创建事件,您的应用程序在调用服务之前等待事件。此外,您的应用可以使用 ServiceControl API 仅在使用时启动服务。
windows“Services.msc”管理插件隐藏boot
和 system
服务。要了解有关这些启动类型的更多信息,请参阅此 API 文档:MSDN: ChangeServiceConfig Function .
关于windows - Windows XP 服务什么时候启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1681999/