是否可以在 Windows 登录屏幕上显示我的窗口?

Posted

技术标签:

【中文标题】是否可以在 Windows 登录屏幕上显示我的窗口?【英文标题】:Is it possible to display my window over a Windows logon screen? 【发布时间】:2014-04-17 09:18:47 【问题描述】:

我正在编写一个服务/用户模式应用程序,该应用程序可能会在某个可自定义的不活动时间段后使系统进入睡眠状态。用户模式过程可能需要在执行电源操作之前显示用户消息/警告。如果用户已登录,这非常有用,但如果工作站被锁定,用户会看到如下显示:

所以我很好奇是否可以在这样的登录屏幕上方显示我自己的窗口(覆盖)?

【问题讨论】:

有趣的问题。我对 Windows 内部结构知之甚少,但我的直觉是,由于潜在的安全隐患(伪造登录表单),这是不可能的。 有多种方法可以使用 Windows 交互式登录体系结构。一般的想法可以在这里看到 - ***.com/questions/12498019/… 或者可能是this question。 谢谢。似乎每个人都对此持谨慎态度。有人可以举例说明为什么这是一个安全问题以及如何利用它? @c00000fd 如果一个人感觉邪恶,可以编写自己的“登录窗口”,看起来和行为都和真实的一样,除了它还会通过电子邮件发送用户输入的用户名和密码到 evilhackers.com 供以后(ab)使用。 【参考方案1】:

自 Vista 以来唯一受支持的 API 是凭据提供程序。 documentation can be found over on MSDN。

【讨论】:

【参考方案2】:

我发现this post 可能正是我需要的。等我试了再贴吧……

【讨论】:

链接已关闭。幸好回程机还在:web.archive.org/web/20150505112059/http://calebdelnay.com/blog/…

以上是关于是否可以在 Windows 登录屏幕上显示我的窗口?的主要内容,如果未能解决你的问题,请参考以下文章

将消息添加到登录屏幕 windows 7

如何以编程方式在 Windows 8 和 Windows 10 桌面登录屏幕上显示状态栏? [关闭]

Windows 10中的第二个屏幕上的WPF窗口对象被涂黑

在窗口登录屏幕上运行应用程序

windows中,要改变屏幕保护程序的设置,首先双击控制面板窗口中的(),

如何在颤动的任何屏幕上显示弹出消息?