【问题标题】:How to programmatically invoke Ctrl+Alt+Del window in Windows 7如何在 Windows 7 中以编程方式调用 Ctrl+Alt+Del 窗口
【发布时间】:2013-05-24 11:10:06
【问题描述】:

我正在为 Windows 7 开发自定义凭据提供程序 dll。 这有一个条件检查;如果失败,我想显示 Ctrl+Alt+Del 窗口。

我可以调用哪个函数来调用 Ctrl+Alt+Del(SAS) 窗口?

【问题讨论】:

标签: c++ c windows-7 credential-providers


【解决方案1】:

答案是不存在这样的API。如果您很特别,请尝试发送Ctrl+Alt+Del的按键顺序在您的代码中使用 SendInput 函数进行组合。这肯定会调用 SAS 窗口。

其实我们不能钩Ctrl+Alt+Del组合键。在 Windows XP 中,可以通过自定义 GINA.dll。在您所说的窗口之间称为 Winlogon 桌面。它也被称为安全桌面。

它只会在某些情况下被 Windows 内部调用,例如启动时、系统锁定时等。

如果您尝试在 winlogon 桌面上运行自定义应用程序,则可以使用自定义凭据提供程序。凭据提供程序 dll 可以在 Windows 启动期间调用任何应用程序。它不能完全替代默认的 winlogon 桌面。

它用于在 Windows 7 中添加自定义登录机制。看看这个link

【讨论】:

  • 感谢 CodeRIder。我已经阅读了该链接。但我只想知道,有任何 windows 函数可以调用 Ctrl+alt+del(SAS),如 sendSAS。
  • 在早期版本的 Windows 中存在用于与 Winlogon 交互的 API,如 link 中给出的 WlxSASNotify、WlxLoggedONSas 等。但这些 API 在 Windows 7 中不受支持
  • 我可以在登录时间输入提交按钮后显示消息框。但是,在显示该消息框后,我想停止该过程并显示切换用户磁贴或 ctrl+alt+del 或当前用户磁贴。
  • 在提交按钮中你也可以调用 PostQuitMessage()。默认情况下,对话框关闭后,您可以查看我猜的 SAS 窗口。
  • 不,它不工作。它只破坏或隐藏前一个消息框。
猜你喜欢
  • 1970-01-01
  • 2019-11-02
  • 2012-07-11
  • 1970-01-01
  • 2012-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多