服务启动时向Windows登录屏幕发送消息

本文关键字:屏幕 消息 登录 Windows 启动 服务 | 更新日期: 2023-09-27 18:06:39

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

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

消息登录屏幕,我猜我需要写一个Windows凭据提供程序,作为一个c#开发人员,我相信我应该看看PGina?

在我开始从头开始编写代码之前,可能已经有一个解决方案了吗?

我目前正在寻找添加消息登录屏幕windows 7,其中通过更新注册表项,我应该能够警告如果它是安全的做登录或不…一旦我知道如何确定这种情况。


[edit]删除了大量不相关的文本,并解释了我为什么这样做。

服务启动时向Windows登录屏幕发送消息

是的,您需要使用凭据提供者(CP)。我更熟悉c++和凭据提供程序V1,所以下面的术语是从那里来的。您可以很容易地找到等效的c#代码或使用本机互操作。

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

你有两个选择

  1. 如果你正在等待Windows服务,使用服务控制管理器查询状态为"已启动"

  2. 如果你正在等待自己的服务,给每个服务添加一个"ready"事件,并从那里触发一个SetEvent。在凭据提供程序端,依次对每个服务使用WaitForSingleObject。很有可能有些服务会先于其他服务启动。这很好。但是,如果您需要在每个服务启动时显示一个UI,则可以在循环中使用WaitForMultipleObjects,并不断删除获得信号的事件句柄。