服务启动时向Windowslogin屏幕发送消息

当我启动Windows 8.1笔记本电脑时,我想在Windowslogin屏幕上显示一条消息,以便知道何时启动了所有服务和启动进程。 除了等待几分钟,假设所有可以启动的服务都已经完成了,我该如何编写一个进程来查询“启动完成”条件,然后更新UI?

用组策略启动脚本或在某些“服务启动”条件下触发的任务调度器例程是否可以检测启动完成? 我应该在事件日志中查找特定的消息吗?

要通知login屏幕,我猜我需要写一个Windows凭据提供程序,作为一个C#开发人员,我相信我应该看PGina?

在我开始从头开始编写代码之前,可能在某处已经有了一个固定的解决scheme吗?

我目前正在寻找添加消息login屏幕的Windows 7通过更新registry项我应该能够警告,如果是安全的login或不… …一旦我找出如何确定这种情况。


删除广泛的不相关的文字与推理为什么我这样做。 希望能对一个简洁而有针对性的问题作出回应。

Solutions Collecting From Web of "服务启动时向Windowslogin屏幕发送消息"

是的,您需要使用凭证提供程序(CP)。 我更熟悉C ++和Credential Provider V1,所以下面的术语是从那里开始的。 您可以轻松找到等效的C#代码或使用本机互操作。

服务检查需要在CP的SetSelected方法中。

你有两个选择 –

  1. 如果您正在等待Windows服务,请使用服务控制管理器将状态查询为“已启动”。

  2. 如果您正在等待自己的服务,请为每个服务添加一个“就绪”事件,并从那里触发一个SetEvent。 在Credential Provider端,依次为每个服务使用WaitForSingleObject。 有些服务很可能会在别人之前开始。 没关系。 但是,如果您需要在每个服务启动时显示一个UI,则可以在一个循环中使用WaitForMultipleObjects并持续移除获取信号的事件的句柄。